Центр допомоги Push-сповіщення у мобільні застосунки

Push-сповіщення у мобільні застосунки

Mobile Push — найдешевший канал, яким SMSBAT може дістатися до користувача, і його місце на початку каскаду: якщо push доставлено, більше нічого не надсилається й нічого не тарифікується.

Як це працює в каскаді

Push іде першим каналом. Застосунок підтверджує отримання, і саме це підтвердження зупиняє каскад:

застосунок --registerInstallation(externalUserId, firebaseInstallationId, fcmToken)--> SMSBAT
                                                                                          |
                                                                  FCM v1 message.token = fcmToken
                                                                                          v
застосунок <------------------ data-only push -----------------------------------  FCM / APNs
  |
  '---- POST /api/push/notifications/{guid}/status  {"status":"delivered"} ------>  SMSBAT
  1. Реєстрація. При вході застосунок надсилає свій Firebase installation id і FCM registration token.
  2. Відправка. Ваш бекенд запускає каскад, де push стоїть першим каналом.
  3. Отримання. Застосунок отримує data-only повідомлення й сам малює сповіщення.
  4. Статус. Застосунок повідомляє delivered, а при тапі — seen.
  5. Зупинка. Будь-який із цих статусів зупиняє каскад до того, як буде оплачено Viber або SMS.

Без статусу delivered бекенд вважає, що push не пройшов, і переходить далі — тобто клієнт платить за повідомлення, яке користувач уже прочитав.

Що потрібно

  • Один проєкт Firebase на обидві платформи
  • APNs auth key, завантажений у Firebase, — для iOS
  • Ключ застосунку з панелі Omni (X-Push-App-Key)
  • Мобільний застосунок, який сам малює сповіщення — у foreground і в background

Повідомлення надсилаються data-only

Сервіс свідомо надсилає data-only повідомлення. Блок notification змусив би Android намалювати повідомлення самостійно й повністю пропустити JS-обробник — і тоді статус delivered не надійшов би ніколи.

Ціна цього — застосунок має будувати кожне сповіщення з data: title, body, subtitle, sound, badge. Усе в data приходить рядками, включно з badge.

Куди далі

ЗавданняСторінка
Налаштувати Firebase, Android та iOSНалаштування застосунку
Реєструвати пристрої й передавати статусиPush API
Розібрати збійКаталог помилок Push
Надіслати push у складі каскадуCascade API

Пов’язані матеріали