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
- Реєстрація. При вході застосунок надсилає свій Firebase installation id і FCM registration token.
- Відправка. Ваш бекенд запускає каскад, де push стоїть першим каналом.
- Отримання. Застосунок отримує data-only повідомлення й сам малює сповіщення.
- Статус. Застосунок повідомляє
delivered, а при тапі —seen. - Зупинка. Будь-який із цих статусів зупиняє каскад до того, як буде оплачено 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 |
Пов’язані матеріали
- Каскадні розсилки — поєднання push із Viber та SMS