Фон
Теперь вы можете обновлять объекты и классы, чтобы добавлять в них модули с возможностями повышения ценности. Модули будут показываться в нижней части карты и могут содержать ссылки на контент эмитента. В этом документе описаны основные шаги, необходимые для включения и использования модулей с помощью Google Wallet API.
Пример функции
|
|
| Один вид | Список |
В этом руководстве предполагается, что вы знакомы с основными концепциями Google Кошелька и уже выполнили рекомендуемые предварительные требования. Если у вас есть вопросы или отзывы, отправьте их своему контактному лицу в Google Кошельке.
Как настроить интеграцию
Чтобы добавить новый модуль, вам нужно будет обновить объект и/или класс, чтобы включить ValueAddedModuleData. ValueAddedModuleData содержит следующие поля:
[Required] LocalizedString header
Заголовок, который показывается в модуле. Ограничение на количество символов – 60. Более длинные строки будут обрезаны.
LocalizedString body
Текст, который показывается в модуле. Ограничение на количество символов – 50. Более длинные строки будут усечены.
Изображение
Изображение, которое показывается в модуле. Рекомендуемое соотношение сторон – 1:1. Изображения будут приведены к этому формату.
[Обязательно] string uri
URI, на который ведет модуль при нажатии. Это может быть веб-ссылка или ссылка на контент.ModuleViewConstraints viewConstraints
Ограничения, которые должны быть соблюдены, чтобы модуль был показан. Объект ModuleViewConstraints содержит следующее поле:TimeInterval displayInterval
Период времени, в течение которого модуль будет показываться пользователям. Можно задать `startTime` и `endTime`. Модуль показывается сразу после вставки, если не задано значение `startTime`. Если параметр endTime не задан, модуль будет показываться неограниченное время.int32 sortIndex
Индекс для сортировки модулей. Модули с более низким индексом сортировки показываются раньше, чем модули с более высоким индексом. Если значение не указано, используется INT_MAX. Если у двух модулей одинаковый индекс, порядок сортировки не определен.Пример ValueAddedModuleData:
{
"valueAddedModuleData": [
{
"header": {
"defaultValue": {
"language": "en-US",
"value": "10% off merch"
}
},
"body": {
"defaultValue": {
"language": "en-US",
"value": "Shirts, caps, mugs, and more"
}
},
"image": {
"sourceUri": {
"uri": "http://www.images.google.com/opportunity"
}
},
"uri": "http://www.google.com/opportunity",
"viewConstraints": {
"displayInterval": {
"start": {
"date": "2024-08-01T18:30:00"
},
"end": {
"date": "2025-08-01T18:30:00"
}
}
},
"sortIndex": 0
},
{
"header": {
"defaultValue": {
"language": "en-US",
"value": "10% off concessions"
}
},
"uri": "http://www.google.com/new_opportunity"
}
]
}Ожидаемое поведение
После успешного обновления объекта и/или класса вы увидите модули на соответствующей карте. Если вы добавили только один модуль, он будет виден на лицевой стороне карты.
Правила использования модулей добавленной стоимости
Модули позволяют добавить в карту дополнительные действия. При создании модулей и управлении ими учитывайте следующее:
- Модули должны быть определены с использованием соответствующего языка, чтобы указать, что они доступны для действий, чтобы помочь пользователям понять, что эти модули кликабельны.
- В модулях должны быть изображения, соответствующие их содержанию.
- Вы управляете модулями и должны активно управлять приоритезацией модулей в зависимости от их важности и релевантности.
- Показывайте пользователям только активные модули. Вы можете управлять этим параметром, задав значение displayInterval для модуля или добавив или удалив его из класса или объекта.
Обработка исключений
| Сообщение | Причина |
|---|---|
| ValueAddedModuleData должен содержать заголовок. | У ValueAddedModuleData нет заголовка. |
| ValueAddedModuleData должен содержать непустой URI. | У элемента ValueAddedModuleData нет непустого URI. |
| В одном курсе можно использовать не более 15 дополнительных модулей. | Необходимо уменьшить количество модулей добавленной стоимости на курсе. |
| Для одного объекта можно добавить не более 15 модулей с дополнительными функциями. | Необходимо уменьшить количество дополнительных модулей на объекте. |