Отправка push-сообщений
Отправляет одно или несколько push-сообщений на указанные устройства.
Операция позволяет отправить сообщения с разными свойствами (например, текст, медиа вложение) за один запрос. В каждом запросе может быть указано до 250 000 устройств на которые будут отправлены сообщения.
POST /push/v1/send-batch
POST /push/v1/send
.Формат запроса
https://push.api.appmetrica.yandex.net/push/v1/send-batch
Тело запроса
{
"push_batch_request": {
"group_id": 1,
"client_transfer_id": long,
"tag": "string",
"batch": [
{
"messages": {
"android": {
"silent": false,
"content": {
"title": "string",
"text": "string",
"icon": "string",
"icon_background": "#AARRGGBB",
"image": "https://example.com/picture.jpg",
"banner": "https://example.com/picture.jpg",
"data": "string",
"channel_id": "string",
"priority": -2,
"collapse_key": 2001,
"vibration": [0, 500],
"led_color": "#RRGGBB",
"led_interval": 50,
"led_pause_interval": 50,
"time_to_live": 180,
"visibility": "public",
"urgency": "high"
},
"open_action": {
"deeplink": "yandexmaps://?"
}
},
"iOS": {
"silent": false,
"content": {
"title": "string",
"text": "string",
"badge": 1,
"sound": "disable",
"thread_id": "string",
"category": "string",
"mutable_content": 1,
"expiration": 3600,
"data": "string",
"collapse_id": "string",
"attachments": [
{
"id": "string",
"file_url": "string",
"file_type": "string"
},
...
]
},
"open_action": {
"url": "https://ya.ru"
}
}
},
"devices": [
{
"id_type": "appmetrica_device_id",
"id_values": ["123456789", "42"]
},
{
"id_type": "ios_ifa",
"id_values": ["8A690667-6204-4A6A-9B38-85DE016....."]
},
{
"id_type": "google_aid",
"id_values": ["eb5f3ec8-2e3e-492f-b15b-d21860b....."]
},
{
"id_type": "android_push_token",
"id_values": ["eFfxdO7uCMw:APA91bF1tN3X3BAbiJXsQhk-..."]
},
{
"id_type": "ios_push_token",
"id_values": ["F6A79E9F844A24C5FBED5C58A4C71561C180F........."]
},
{
"id_type": "huawei_push_token",
"id_values": ["0866422030....."]
},
{
"id_type": "huawei_oaid",
"id_values": ["ecef47f7-fcce-ad....."]
}
]
},
{
"messages": {
...
}
}
]
}
}
push_batch_request
group_id
*client_transfer_id
client_transfer_id
должно быть уникальным в указанной группе (group_id
).tag
*batch
messages
. Содержит push-сообщения с их свойствами.messages
android
ios
silent
true | false
.content
title
text
icon
icon_background
#AARRGGBB
. Поле доступно только для платформы Android.
image
banner
Поле доступно только для платформы Android.
data
collapse_id
channel_id
Доступно только для Android 8 и выше. Подробнее о каналах в документации Android.
priority
[-2; 2]
. Платформа определяет сообщения с высоким приоритетом и принимает соответствующие действия: прерывает работу пользователя (отображает сообщение на экране), не уведомляет пользователя о уведомлении. На разных устройствах приоритет интерпретируется по-разному. Поле доступно только для платформы Android.
collapse_key
Поле доступно только для платформы Android.
vibration
[пауза мс, длительность вибрации мс, пауза мс, длительность вибрации мс,...]
. Поле доступно только для платформы Android.
led_color
#RRGGBB
. Поле доступно только для платформы Android.
led_interval
Поле доступно только для платформы Android.
led_pause_interval
Поле доступно только для платформы Android.
time_to_live
Поле доступно только для платформы Android.
open_action
deeplink
badge
sound
default | disable
thread_id
Идентификатор для группировки push-уведомлений. Значение указывается в свойстве threadIdentifier объекта UNNotificationContent.
category
Категория push-уведомления. Значение указывается в свойстве identifier объекта UNNotificationCategory
. Подробнее об объявлении действий и категорий push-уведомлений в документации Apple.
mutable_content
Признак расширения Notification Service Extension. Если указано значение 1
, то push-уведомление обрабатывается расширением. В AppMetrica с помощью него отслеживается доставка push-уведомлений.
Чтобы отслеживать доставку, настройте сбор статистики push-уведомлений и передайте в поле значение 1
. Если значение не передается, то в отчетах число доставленных push-уведомлений будет равно числу открытых.
expiration
Если по истечении указанного времени устройство будет недоступно (например, не подключено к интернету), сообщение не будет доставлено. По умолчанию время не ограничено.
url
visibility
secret
, private
, public
. По умолчанию не задаётся. Подробнее о свойстве visibility
в документации Android.urgency
high
, normal
. Значение по умолчанию — high
. Срочные push-сообщения вызывают просыпание устройства, запуск приложения в фоновом режиме и получение доступа к интернету на короткий промежуток времени. Срочные push-сообщения доставляются быстрее и надёжнее. Подробнее о приоритете FCM сообщений в документации Android.devices
Устройства группируются по id_type
. В одной отправке допускается от 1 до 5 групп. Все группы в сумме за один HTTP-запрос могут содержать до 250 000 устройств. Например, если в группе appmetrica_device_id
содержится 100 000 устройств, в остальных допускается указать 150 000.
id_type
appmetrica_device_id
, ios_ifa
, google_aid
, android_push_token
, ios_push_token
, huawei_push_token
, huawei_oaid
. id_values
attachments
Поле доступно только для платформы iOS.
id
Поле доступно только для платформы iOS.
file_url
Поле доступно только для платформы iOS.
file_type
Поле доступно только для платформы iOS.
* Обязательный параметр
Формат ответа
{
"push_response": {
"transfer_id": 1,
"client_transfer_id": long
}
}
push_response
transfer_id
client_transfer_id