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

Уведомления, инициированные партнерами

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

Фон

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

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

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

  • Для получения push-уведомлений о сообщениях пользователям необходимо включить уведомления для своих пропусков.
  • Сообщения могут содержать URI вашего веб-сайта или приложения. Гиперссылки должны вести на веб-сайт или в приложение, связанные с данным пропуском. Перенаправление пользователей на ссылки, не относящиеся к данному пропуску, является нарушением Политики допустимого использования .
  • В течение 24 часов вы можете отправить максимум 3 сообщения, которые вызовут push-уведомление. Google может ограничить количество отправляемых вами push-уведомлений, если посчитает, что вы рассылаете спам своим пользователям.
  • Push-уведомления, которые пользователи видят на экране блокировки, управляются Google Wallet.
  • Для редактирования или удаления данных сообщения с помощью обычных конечных точек класса или объекта можно использовать методы 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"
    },
  

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

Любые попытки отправить уведомление более 3 раз приведут к ошибке QuotaExceededException . Дальнейшие изменения пароля можно установить, используя " TEXT " вместо " TEXT_AND_NOTIFY ", как описано в разделе "Этапы интеграции ".

Уведомления поблизости

Эта функция будет показывать пользователям, которые включили уведомления и предоставили приложению Google Wallet точный, постоянный доступ к местоположению, push-уведомление, напоминающее им о том, что они сохранили пароль, соответствующий их текущему местоположению.

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

Как использовать

Для использования этой функции необходимо добавить местоположения в ваши классы и объекты. Вы можете добавить до 10 местоположений на класс и до 10 на объект. Используйте MerchantLocations в определении вашего класса или объекта. Вы можете добавить эти местоположения при использовании методов insert , patch или update .

После добавления местоположений к классу или объекту Google будет отправлять уведомления пользователям, когда они окажутся поблизости. Google определяет, насколько близко должен находиться пользователь и как долго он должен оставаться в этом районе, прежде чем будет отправлено уведомление. Google также контролирует текст уведомления.

Пример класса LoyaltyClass с заданным параметром MerchantLocations:
{
  "kind": "walletobjects#loyaltyClass",
  "programLogo": {
  "kind": "walletobjects#image",
  "sourceUri": {
    "uri":
    ...
  }
  },
  "localizedProgramName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Program Name",
    }
  },
  "id": Id1234,
  "version": "1",
  "allowMultipleUsersPerObject": true,
  "reviewStatus": "underReview",
  "enableSmartTap": false,
  "localizedIssuerName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Issuer Name"
    }
  },
  "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
  "merchantLocations": [
    {
      "latitude": 37.79020867928078,
      "longitude": -122.39004
    },
    {
      "latitude": 37.42587,
      "longitude": -122.08620
    },
  ]
}

Ожидаемое поведение

Пользователи должны получать навязчивые уведомления о своих пропусках, когда находятся в одном из указанных мест расположения продавцов. При нажатии на уведомление пропуск откроется в Google Wallet. Пользователи могут закрыть уведомление с помощью жеста смахивания. Когда пользователь покинет место, уведомление исчезнет.