Что такое push-токен и как он формируется

Push-токен — это строка, которую операционная система присваивает конкретной установке приложения на устройстве. Токен не содержит персональных данных — это непрозрачный идентификатор, понятный только инфраструктуре push-платформы.

Процесс получения токена:

  1. Приложение вызывает API запроса разрешений на уведомления.
  2. Пользователь даёт согласие (opt-in).
  3. ОС регистрирует приложение в APNs (iOS) или FCM (Android) и возвращает токен.
  4. Приложение передаёт токен на 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.