Как рассчитать цены на сумму позиций для заказа и завершить транзакцию с помощью Transaction API Actions в Google - PullRequest
0 голосов
/ 07 ноября 2018

Я закончил учебник , разработанный Actions on Google. И вопрос в том, должен ли я сам реализовать метод расчета, чтобы суммировать все цены на продукты, которые пользователь выбирает из приложения-помощника?

В этом уроке все продукты (фальшивые предметы для демонстрации) хранятся в виде объекта в намерении transaction_check_complete. В реальной реализации это было бы похоже на то, как помощник представляет карточку Carousel, на которой перечислены покупаемые товары, и пользователь выбирает их, нажав (программно говоря, это будет похоже на создание объекта предмета и добавляется к массиву товаров.Если товары не пусты, запускается событие проверки транзакции и система запрашивает подтверждение покупки). Я полностью понимаю, что именно так работает API транзакций (опыт сборки корзины покупок)

Хорошо, вот основной вопрос. Как рассчитать все цены, скажем, предметов, добавленных пользователем? (Давайте представим, что пользователь нажал три элемента из списка Carousel, представленного системой). Я предполагаю, что он должен быть рассчитан с целью transaction_check_complete. Но как? Есть ли какой-либо метод, предоставляемый Google? Внимательно изучив документацию, объект Price содержит units и nanos. Насколько я понимаю, единица эквивалентна доллару, если currencycode установлен на USD. Должна ли программируемая часть кодироваться разработчиком? Ну, я просто ожидал, что Google также предлагает автоматический расчет с API, но из документа ничего, связанного с информацией, не было найдено в моем исследовании.

Если кто-то уже внедрил корзину, не могли бы вы поделиться с нами своими знаниями. Я просто хочу убедиться, что есть способ рассчитать с помощью API.

UPDATE

Упс, я пропустил чтение этой части в документе ... Это было четко указано, как показано ниже:

Примечание. Данные, представленные в «карточке предварительного просмотра корзины», отображаются как есть в соответствии с вашим ProposedOrder. Наша политика требует, чтобы представленные данные были детализированы, точны и соответствовали тому, что пользователь запрашивал во время их диалога. Обратите внимание, что Google не вычисляет поля, такие как налоги, сборы и т. Д., А берет их непосредственно из того, что вы передаете в action.intent.TRANSACTION_DECISION intent

Надеюсь, это поможет!

...