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

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

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

Фон

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

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

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

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

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

Чтобы уведомить пользователей о новом сообщении, добавленном с помощью AddMessage API, обновите AddMessageRequest. Для этого в Message, содержащем новый текст, укажите MessageType TEXT_AND_NOTIFY вместо TEXT.

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

  …
  "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 API

  …
  "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, как описано в инструкциях по интеграции.

Мое окружение: уведомления

Если пользователь включил уведомления и разрешил Google Кошельку всегда получать доступ к точному местоположению, то он будет получать 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 Кошельке откроется карта. Пользователи могут закрыть уведомление, проведя по нему пальцем. Когда пользователь покинет местоположение, уведомление исчезнет.