Возможности с добавленной стоимостью, Возможности с добавленной стоимостью, Возможности с добавленной стоимостью, Возможности с добавленной стоимостью

Фон

Теперь вы можете обновить объекты и классы, включив в них модули возможностей с добавленной стоимостью. Модули будут отображаться на странице сведений и могут ссылаться на контент эмитента. В этом документе описаны ключевые шаги, необходимые для включения и использования модулей с помощью API Google Кошелька.

Пример функции

Одиночный пример модуля Value OpportunityПример списка модулей возможностей создания ценности
Одиночный просмотр Просмотр списка

В следующем руководстве предполагается, что вы знакомы с основными понятиями 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 дополнительных модулей. Необходимость снижения добавленной стоимости модулей на объекте.