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