Как настроить шаблоны пуш-уведомлений
Шаблон — это гибкий инструмент для настройки пуш-уведомлений. Он поддерживает динамические данные и учитывает особенности платформ, что позволяет точечно управлять содержимым и поведением пуш-уведомлений. Шаблон настраивается на этапе создания нового мобильного чата.
Как подключить мобильный чат Android Как подключить мобильный чат Huawei Как подключить мобильный чат iOSОбщая информация
Шаблон предназначен только для добавления дополнительной информации или переопределения свойств в пуш-уведомлениях — удалить информацию из уведомления нельзя.
Заполнение поля Шаблон выполняется в JSON-формате.
Объект, в который будет добавлен новый параметр, зависит от платформы — Android, Huawei или iOS.
Пример простого шаблона
В этом примере в пуш-уведомление будет добавлен параметр additional.
{
"additional": "test"
}
Динамические параметры
В шаблон можно подставлять динамические параметры. Для подстановки используется формат ${x}, где x — динамический параметр.
Значения, которые могут быть подставлены:
id— уникальный идентификатор сообщения, генерируемый автоматич ески при создании объекта.externalId— внешний идентификатор сообщения из edna Chat Center API в формате UUID.shortMessage— краткое текстовое содержание сообщения, используется для сообщения в пуш-уведомлении по умолчанию.clientId— идентификатор клиента.
Пример шаблона с динамическим параметром
В этом примере в пуш-уведомление будет добавлен параметр messageId с внешним идентификатором сообщения из edna Chat Center API в формате UUID.
{
"messageId": "${externalId}"
}
Шаблоны Android и Huawei
- Новые параметры из шаблона добавляются в объект
dataпуш-уведомления. - Параметры
bodyиmessageиз состава объектаdataмогут быть переопределены. - Если значением параметра в шаблоне будет объект, то он будет преобразован в строку — сериализован.
Пример добавления нового параметра
Например, в шаблоне указан новый параметр additional для добавления в пуш-уведомление.
{
"additional": "test"
}
В результате параметр additional будет добавлен в объект data пуш-уведомления.
{
...
"token": "push address",
"data": {
"message_id": "1234",
"body": "body",
"message": "message",
"original": "threads",
"additional": "test"
},
"android": {
"priority": "HIGH",
"ttl": "100s"
},
...
}
Пример сериализации параметра
Например, в шаблоне указан новый параметр additional для добавления в пуш-уведомление.
{
"additional": {
"test": "test"
}
}
В результате значение параметра additional будет преобразовано в строку.
{
...
"token": "push address",
"data": {
"message_id": "1234",
"body": "body",
"message": "message",
"original": "threads",
"additional": "{\"test\":\"test\"}"
},
"android": {
"priority": "HIGH",
"ttl": "100s"
},
...
}
Шаблоны iOS
- Новые параметры добавляются на том же уровне, что и объект
aps. - Поддерживаются параметры с типом данных
object— значения параметров не сериализуются, в отличии от Android и Huawei. - Если новый параметр является объектом и этот объект уже существует в стандартном пуш-уведомлении, то объекты будут объединены, а значения параметров будут переопределены.
Пример добавления нового параметра
Например, в шаблоне указан новый параметр mutable-content для обновления непрочитанного пуш-уведомления.
{
"mutable-content": 1
}
В результате параметр mutable-content будет добавлен в пуш-уведомление на уровне aps.
{
...
"aps":{
"alert":"text",
},
"mutable-content": 1,
"message_id":"123",
"original":"threads"
...
}
Пример объединения объектов в пуш-уведомлении
Например, в шаблоне указан параметр badge для обновления количества непрочитанных сообщений на иконке приложения.
{
"aps": {
"badge": 4
}
}
В результате объекты будут объединены и параметр badge будет добавлен внутр ь объекта aps.
{
...
"aps":{
"alert":"text",
"badge":4
},
"message_id":"123",
"original":"threads"
...
}