Фон
Теперь вы можете обновить объекты и классы, включив в них модули возможностей с добавленной стоимостью. Модули будут отображаться на странице сведений и могут ссылаться на контент эмитента. В этом документе описаны ключевые шаги, необходимые для включения и использования модулей с помощью API Google Кошелька.
Пример функции
Одиночный просмотр | Просмотр списка |
В следующем руководстве предполагается, что вы знакомы с основными понятиями Google Кошелька и уже выполнили рекомендуемые предварительные требования . Любые вопросы или отзывы отправляйте в POC вашего Google Кошелька.
Этапы интеграции
Чтобы добавить новый модуль, вам необходимо обновить объект и/или класс, включив в него ValueAddedModuleData . ValueAddedModuleData имеет следующие поля:
[Обязательно] Заголовок LocalizedString
Заголовок, отображаемый в модуле. Ограничение на количество символов – 60. Более длинные строки будут обрезаны.Тело LocalizedString
Тело отображается на модуле. Ограничение на количество символов — 50. Более длинные строки будут обрезаны.Изображение изображения
Изображение отображается на модуле. Рекомендуемое соотношение изображений — 1:1. Размер изображений будет изменен в соответствии с этим соотношением.[Обязательно] строка uri
URI, к которому ведет модуль при нажатии. Это может быть веб-ссылка или глубокая ссылка. .МодульViewConstraints viewConstraints
Ограничения, которые должны быть соблюдены для отображения модуля. ModuleViewConstraints имеет следующее поле:TimeInterval displayInterval
Период времени, в течение которого модуль будет отображаться пользователям. Можно определить как startTime, так и endTime. Модуль отображается сразу после вставки, если не установлено `startTime`. Модуль отображается бесконечно, если `endTime` не установлен.int32 индекс сортировки
Индекс для сортировки модулей. Модули с более низким индексом сортировки отображаются перед модулями с более высоким индексом сортировки. Если не указано, предполагается, что индекс сортировки равен 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. |
В каждом классе допускается максимум 10 дополнительных модулей. | Необходимо сократить добавленную стоимость модулей в классе. |
На один объект допускается максимум 10 дополнительных модулей. | Необходимость снижения добавленной стоимости модулей на объекте. |