Что такое push-токен и как он формируется
Push-токен — это строка, которую операционная система присваивает конкретной установке приложения на устройстве. Токен не содержит персональных данных — это непрозрачный идентификатор, понятный только инфраструктуре push-платформы.
Процесс получения токена:
- Приложение вызывает API запроса разрешений на уведомления.
- Пользователь даёт согласие (opt-in).
- ОС регистрирует приложение в APNs (iOS) или FCM (Android) и возвращает токен.
- Приложение передаёт токен на backend — он сохраняется в базе как адрес доставки.
APNs token (iOS): hex-строка 64 символа
FCM token (Android): длинная строка Base64, ~150+ символов
Жизненный цикл токена
Токены не постоянны. Они инвалидируются в следующих ситуациях:
| Событие | Поведение |
|---|---|
| Переустановка приложения | Новый токен, старый становится stale |
| Factory reset устройства | Новый токен |
| Смена Apple ID (iOS) | Новый токен |
| Отзыв разрешений пользователем | Токен остаётся в базе, но уведомления не доставляются |
| Длительное неиспользование (FCM) | FCM может перевыпустить токен |
Важно: backend обязан обрабатывать ответы push-платформ об инвалидных токенах и удалять их из базы. Накопление stale-токенов — главная причина низкого delivery rate.
Управление токенами на backend
Базовые требования:
- Хранить пару
(userId, token, platform, created_at, updated_at). - При получении нового токена для userId заменять старый — у пользователя может быть несколько устройств, поэтому допустимо хранить несколько токенов, но с дедупликацией.
- Регулярно удалять токены с ошибками доставки
Unregistered/InvalidToken. - При logout пользователя — удалять или деактивировать токен, чтобы следующий пользователь устройства не получал чужие уведомления.
Токены и аналитика push-кампаний
Точность управления токенами напрямую влияет на метрики:
- Delivery rate = (доставлено) / (отправлено). Большой процент stale-токенов занижает этот показатель.
- CTR = (клики) / (доставлено). При некорректном управлении токенами знаменатель искажён.
- Охват аудитории — оценивается как число валидных токенов / MAU приложения. Типичный opt-in rate: 40–60% на iOS, 70–90% на Android.