Триггерные push-уведомления

Типы уведомлений

Добавить сообщение и уведомить

Фон

После того как пользователь добавит пропуск, вы можете отправить ему сообщение, связанное с пропуском, и убедиться, что он уведомлен об этом. При использовании запроса API добавления сообщения с типом message_type , равным TEXT_AND_NOTIFY происходит следующее:

  1. Элемент « Сообщение » добавляется в «обратную сторону пропуска» (также известный как « Шаблон сведений» ), и пользователям с сохраненным пропуском отправляется push-уведомление.
  2. Как только пользователь нажимает на уведомление, он открывает Google Кошелек в передней части пропуска (также известный как «Просмотр карты»), и пользователь увидит выноску в верхней части экрана с кнопкой «Просмотреть сообщение».
  3. Нажав на выноску, пользователи перейдут в конец пропуска, где будут выделены новые непрочитанные сообщения.

Некоторые соображения при отправке сообщений с уведомлениями пользователям

  • Пользователи должны включить уведомления для своих пропусков, чтобы получать push-уведомления, связанные с сообщениями.
  • Сообщения могут содержать URI вашего веб-сайта или приложения. Гиперссылки должны указывать на веб-сайт или приложение, связанное с пропуском. Отправка пользователей по ссылкам, не связанным с пропуском, является нарушением Политики допустимого использования .
  • Вы можете отправить максимум 3 сообщения, которые вызовут push-уведомление, в течение 24 часов. Google может ограничить вашу квоту на доставку push-уведомлений, если сочтет, что вы рассылаете спам своим пользователям.
  • Push-уведомления, которые пользователи видят на экране блокировки, контролируются Google Кошельком.
  • Вы можете использовать методы UPDATE или PATCH для редактирования или удаления данных сообщения, используя конечную точку обычного класса или объекта.

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

Если вы хотите уведомить пользователей о новом сообщении эмитента, добавленном с помощью API AddMessage, вам необходимо обновить AddMessageRequest , чтобы сообщение , содержащее ваш новый текст, имело MessageType TEXT_AND_NOTIFY вместо TEXT .

Пример запроса JSON для добавления сообщения и уведомления в классе Passes

  …
  "id": ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Class message header",
        "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

Пример запроса JSON для добавления сообщения и уведомления в объекте Passes

  …
  "id": OBJECT_ID",
  "classId": "ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Object message header",
        "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

Пример ответа на добавление сообщения и уведомление о проходном классе

  // The updated resource
  …
    {
      "kind": "walletobjects#walletObjectMessage",
      "header": "My Object message header",
      "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
      "id": "message_id",
      "messageType": "textAndNotify"
    },
  …

Обработка исключений

Любые попытки уведомить более трех раз приведут к ответу QuotaExceededException . Любые дальнейшие обновления пропуска можно установить с помощью « TEXT » вместо « TEXT_AND_NOTIFY », как описано в разделе «Шаги интеграции ».