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

Фон

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

Пример функциональности

Пример одного примера модуля «Возможности получения ценности»Пример списка модулей «Возможности получения ценности»
Одиночный вид Список

Данное руководство предполагает, что вы знакомы с основными понятиями Google Wallet и уже выполнили рекомендуемые предварительные условия . С любыми вопросами или отзывами обращайтесь к представителю Google Wallet по вопросам внедрения.

Этапы интеграции

Для добавления нового модуля необходимо обновить объект и/или класс, добавив в него поле ValueAddedModuleData . Поле ValueAddedModuleData содержит следующие поля:

[Обязательный] Заголовок LocalizedString

Заголовок, отображаемый в модуле. Ограничение по количеству символов — 60, более длинные строки будут усечены. Пример заголовка "Возможность получения ценности"

Тело локализованной строки

Текст, отображаемый в модуле. Ограничение по количеству символов — 50, более длинные строки будут усечены.
Пример тела, демонстрирующего ценность и возможности

Изображение

Изображение, отображаемое на модуле. Рекомендуемое соотношение сторон изображения — 1:1, и изображения будут изменены в размере, чтобы соответствовать этому соотношению.
Пример изображения ценностной возможности

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