Провайдеры: структура push-сообщения
Altcraft Platform поддерживает следующие сервисы для отправки мобильных push сообщений:
- Google Firebase Cloud Messaging — для Android и iOS приложений
- Apple Push Notification Service — только для iOS приложений
- Yandex.AppMetrica — для Android и iOS приложений
- Huawei Mobile Services — для Android и iOS приложений
- RuStore — для Android приложений
Требуется подключение соответствующих SDK в приложении.
Yandex.AppMetrica использует для отправки SDK Google Firebase. Для отправки уведомлений вам нужно будет установить его в приложение.
В Altcraft Platform доступна интеграция с Yandex.AppMetrica для импорта профилей пользователей, регистрации их действий и связанной с ними ценности (стоимости).
Необходимо проверить, что приложение поддерживает структуру push-уведомлений Altcraft Platform. Если формат не поддерживается, Altcraft может скорректировать структуру сообщения со своей стороны.
Формат отправки push сообщения
Android Firebase
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"message": {
"token": "{{.SubscriptionID}}",
"android": {
"priority": "{{.Priority}}",
"ttl": {{.TTL}},
"data": {
"_ac_push": "Altcraft",
"_uid": "{{.UID}}",
"_launch_id": "{{.LaunchID}}",
"_title": "{{.Title}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_icon": "{{.Icon}}",
"_click_action": "{{.ClickURL}}",
"_color": "{{.ImageBackgroundColor}}",
"_image": "{{.Image}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
}
}
}
uid — внутренний идентификатор отправки, уникальный для каждого сообщения.
launch_id — внутренний идентификатор отправки, уникальный в рамках рассылки.
iOS Firebase
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"message": {
"token": "{{.SubscriptionID}}",
"apns": {
"headers": {
"apns-expiration": "{{.TTL}}"
},
"payload": {
"aps": {
"category": "Altcraft",
"sound": {{.Sound}},
"mutable-content": 1,
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_launch_id": "{{.LaunchID}}",
"_ac_push": "Altcraft",
"_click-url": "{{.ClickURL}}",
"_media": "{{.Media}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
}
}
}
uid — внутренний идентификатор отправки, уникальный для каждого сообщения.
launch_id — внутренний идентификатор отправки, уникальный в рамках рассылки.
iOS APNS
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"aps": {
"category": "Altcraft",
"mutable-content": 1,
"sound": {{.Sound}},
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_ac_push": "Altcraft",
"_click-url": "{{.ClickURL}}",
"_soundless": "{{.Soundless}}",
"_media": "{{.Media}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_hub_link": {
"open": "{{.URLOpenEvent}}",
"ack": "{{.URLDelivEvent}}"
},
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
AppMetrica iOS
Возможно редактирование объекта JSON (п о запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"iOS": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"badge": 0-999,
"expiration": 0,
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"},\"icon\":\"Icon\",\"media\":\"Media\"}"
},
"open_action": {
"url": "URL",
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "ios_push_token"
}
]
}
]
}
}
AppMetrica Android
Возможно ред актирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"android": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"time_to_live": 0,
"image": "Icon",
"icon_background": "IconBackground",
"banner": "Banner",
"led_color": "LEDColor",
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"}}"
},
"open_action": {
"url": "URL",
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "google_aid"
}
]
}
]
}
}
HMS Android
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"message": {
"token": ["{{.SubscriptionID}}"],
"data": {
"_ac_push": "Altcraft",
"_title": "{{.Title}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_launch_id": "{{.LaunchID}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_icon": "{{.Icon}}",
"_click_action": "{{.ClickURL}}",
"_color": "{{.ImageBackgroundColor}}",
"_image": "{{.Image}}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"android": {
"urgency": "HIGH",
"ttl": {{.TTL}}
}
}
}
HMS iOS
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"message": {
"token": ["{{.SubscriptionID}}"],
"apns": {
"headers": {
"apns-expiration": "{{.TTL}}"
},
"payload": {
"aps": {
"category": "Altcraft",
"mutable-content": 1,
"sound": {{.Sound}},
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_ac_push": "Altcraft",
"_provider": "{{.Provider}}",
"_click-url": "{{.ClickURL}}",
"_soundless": "{{.Soundless}}",
"_uid": "{{.UID}}",
"_media": "{{.Media}}",
"_hub_link": {
"open": "{{.URLOpenEvent}}",
"ack": "{{.URLDelivEvent}}"
},
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"hms_options": {
"target_user_type": 1
}
}
}
}
RuStore Android
Возможно редактирование объекта JSON (по запросу).
Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.
{
"message": {
"token": "{{.SubscriptionID}}",
"data": {
"_ac_push": "Altcraft",
"_title": "{{.Title}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_icon": "{{.Icon}}",
"_image": "{{.Image}}",
"_launch_id": "{{.LaunchID}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_color": "{{.ImageBackgroundColor}}",
"_click_action": "{{.ClickURL}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"android": {
"priority": "HIGH",
"ttl": {{.TTL}}
}
}
}
uid — внутренний идентификатор отправки, уникальный для каждого сообщения.
launch_id — внутренний идентификатор отправки, уникальный в рамках рассылки.