Отправка пуш-уведомлений

API разрабатывалось с целью предоставлять возможность drop-in replacement для Firebase.

Для отправки пуш-уведомления используйте метод POST.

Тело запроса

Параметр

Тип

Описание

validate_only

bool

Произвести валидацию запроса, не отправляя пуш-уведомление

message

object (message)

Структура пуш-уведомления

message

Параметр

Тип

Описание

data

map

Объект, содержащий пары «key»: value

notification

object (message.notification)

Базовый шаблон уведомления для использования на всех платформах

android

object (message.android)

Специальные параметры Android для сообщений

message.notification

Параметр

Тип

Описание

title

string

Название уведомления

body

string

Основной текст уведомления

image

string

Содержит URL-адрес изображения, которое будет отображаться в уведомлении

message.android

Параметр

Тип

Описание

ttl

string (duration format)

Как долго (в секундах) сообщение должно храниться в хранилище.

Пример:«3.5s» 

notification

object (message.android.notification)

Уведомление для отправки на устройства Android

message.android.notification

Параметр

Тип

Описание

title

string

Название уведомления

body

string

Основной текст уведомления

icon

string

Значок уведомления

color

string

Цвет значка уведомления в формате #rrggbb

image

string

Содержит URL-адрес изображения, которое будет отображаться в уведомлении

channel_id

string

Идентификатор канала уведомления

click_action

string

Действие, связанное с кликом пользователя по уведомлению

В структуре message на данный момент поддерживаются только представленные выше поля.

Тело успешного ответа

Параметр

Тип

Описание

В случае успешного ответа возвращается сообщение с пустым payload

Тело ответа ошибки

Параметр

Тип

Описание

error

object (error)

Ошибка

error

Параметр

Тип

Описание

code

int

Числовой код ошибки (404, 400, 403, 401, ...)

message

string

Детальное описание ошибки

status

string

Код ошибки в текстовом формате (INVALID_ARGUMENT, UNREGISTERED, ...)

HTTP status соответствует полю code.

Алгоритм валидации Message

  1. Если есть непустой payload message.data (есть хотя бы одна пара ключ-значение внутри), то сообщение валидно. Секции message.notification и message.android могут отсутствовать.
  2. Если поля message.data нет, то обязательно должен быть notification. В этом случае проверяется наличие либо поля message.notification, либо message.android.notification. Хотя бы одно из этих полей должно присутствовать, но могут присутствовать оба (если присутствуют оба, то некоторые поля перезаписываются).

Ограничения

  1. Если в пуше нет поля ttl или оно равно 0, то учитывается дефолтное значение равное 4 неделям. Если в пуше отсутствует секция message.android, то она добавляется с полем ttl.
  2. Максимальный объем сообщения 4096 байт.
Was this information helpful?