Центр допомоги Реєстрація інсталяції

Реєстрація інсталяції

Реєструйте пристрій при вході користувача — доти на нього неможливо адресувати повідомлення.

POST /api/push/registerInstallation
X-Push-App-Key: <ключ застосунку>
Content-Type: application/json
{
  "externalUserId": "operator-497",
  "firebaseInstallationId": "fA9kQ2xRTb2mLp0WYs4nEv",
  "fcmToken": "fA9kQ2xRTb2mLp0WYs4nEv:APA91bH3xK…",
  "platform": "android",
  "notificationsEnabled": true
}

Поля

ПолеОбов’язковеПримітки
externalUserIdтакСтабільний ID користувача. В одного користувача може бути кілька інсталяцій. Додавайте префікс — operator-497, client-497 — бо ID операторів і клієнтів живуть в одному просторі й інакше зіткнуться.
firebaseInstallationIdтакЗ Installations SDK. Ключ upsert разом із застосунком.
fcmTokenна практиці такЗ Messaging SDK. Єдине значення, на яке API відправки може доставити. У схемі опціональне, щоб старі клієнти працювали, але інсталяція без нього недоставна.
platformтак"android" або "ios", лише малими літерами.
notificationsEnabledніЗа замовчуванням true. false виключає інсталяцію з розсилок.

Відповіді

КодЗначення
200Прийнято
400Некоректні поля
401Невідомий або неактивний застосунок

Надсилайте обидва ідентифікатори

FID лишається ключем upsert, а доставка йде на токен. Оскільки токен ротується незалежно від FID, кожна реєстрація має перезаписувати збережений токен.

Надсилання лише installation id — найпоширеніша помилка інтеграції: FCM v1 приймає в message.token тільки registration token, а голий FID відхиляється. Як це виглядає — у каталозі помилок.

Повторна реєстрація

Реєстрація того самого installation id під іншим externalUserId перепривʼязує його — саме завдяки цьому працює вихід і повторний вхід.

Під тим самим користувачем оновлюються платформа, підписка та last_seen_at, а інсталяція реактивується.

Беріть ID і токен незалежно

Якщо getToken() кидає виняток — а на iOS він робить це регулярно, доки не прийде APNs-токен — спільний try/catch поверне також порожній installation id. Виклики, які без ID пропускають реєстрацію, не надсилають нічого, і збій виглядає так, ніби застосунок не запускався.

Відсутній токен коштує доставки. Він не має коштувати ще й реєстрації.

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