Уведомления, активируемые партнером
Добавить сообщение и уведомить
Фон
После того как пользователь добавит карту, вы можете отправить ему сообщение, связанное с этой картой, и убедиться, что он получит уведомление об этом. Если в запросе Add Message API параметр message_type равен TEXT_AND_NOTIFY, происходит следующее:
- Элемент Message добавляется на обратную сторону карты (также известную как шаблон сведений), а пользователям, у которых сохранена карта, отправляется push-уведомление.
- Если пользователь нажмет на уведомление, откроется Google Кошелек с лицевой стороной карточки (режим просмотра карточки), а в верхней части экрана появится всплывающая подсказка с кнопкой "Посмотреть сообщение".
- Нажав на нее, пользователь перейдет на обратную сторону карты, где будут выделены новые непрочитанные сообщения.
Что нужно учитывать при отправке сообщений с уведомлениями пользователям
- Чтобы получать 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 Кошельке откроется карта. Пользователи могут закрыть уведомление, проведя по нему пальцем. Когда пользователь покинет местоположение, уведомление исчезнет.