Перейти к содержанию

Управление базой подписчиков на push-уведомления

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

Что такое push-токены и как они работают

Anchor link to

Push-токен — это уникальный анонимный идентификатор, присваиваемый конкретному экземпляру приложения на устройстве его поставщиком push-сервиса:

  • Apple Push Notification Service (APNs) для устройств iOS
  • Firebase Cloud Messaging (FCM) для устройств Android

Этот токен гарантирует, что push-уведомления будут доставлены в нужное приложение на устройстве пользователя.

В Pushwoosh жизненный цикл push-токена включает следующие ключевые этапы:

  1. При первом запуске приложение запрашивает у операционной системы (ОС) устройства разрешение на получение push-уведомлений.

  2. Push-сервис приложения (например, APNs для iOS, FCM для Android) генерирует уникальный push-токен для этого экземпляра приложения. По умолчанию Pushwoosh SDK собирает и сохраняет этот токен, даже если пользователь не дал разрешения на отображение уведомлений. Push-сообщения не будут показываться этим пользователям, но токен все равно можно использовать для отправки сообщений в их почтовый ящик приложения — еще один канал обмена сообщениями в Pushwoosh.

    Однако вы можете настроить SDK так, чтобы он собирал токены только от пользователей, которые дали разрешение.

  3. Приложение использует Pushwoosh SDK для отправки этого токена в базу данных Pushwoosh вместе с данными устройства (включая аппаратный идентификатор или HWID) в Pushwoosh через конечную точку API /registerDevice.

  4. Pushwoosh надежно хранит токен для будущих сообщений.

  5. Когда срабатывает уведомление, Pushwoosh использует сохраненный токен для маршрутизации сообщения через соответствующий шлюз доставки.

  6. Выбранный шлюз доставляет сообщение на устройство, и ОС отображает его в соответствии с системными настройками и настройками уведомлений приложения.

  7. Если push-токен становится недействительным (например, из-за удаления приложения), Pushwoosh обнаруживает сбой доставки после очередной отправки уведомления, когда шлюз возвращает список ошибок отправки, включая просроченные/недействительные/и т.д. токены. Затем Pushwoosh помечает токен как неактивный и удаляет его из базы данных. Если приложение будет переустановлено на том же устройстве, будет выдан новый токен.

Распространенные причины, по которым push-токены становятся недействительными

Anchor link to

Хотя Apple Push Notification Service (APNs) и Firebase Cloud Messaging (FCM) не обеспечивают полной прозрачности в отношении политик жизненного цикла токенов и не позволяют проактивно проверять их действительность, существуют известные сценарии, в которых push-токены могут стать недействительными или истечь.

ПричинаAPNs (iOS)FCM (Android)
Удаление приложенияТокен становится недействительным после удаления приложения. В конечном итоге APNs возвращает ошибку 410 Unregistered. Apple не уточняет, когда происходит аннулирование; это может занять от нескольких минут до нескольких дней. ПодробнееТокен немедленно аннулируется при удалении. Последующие отправки возвращают ошибку Unregistered. Подробнее
Обновление токенаAPNs выдает новый токен после обновления ОС, резервного копирования/восстановления устройства, переустановки приложения или обновления ОС. ПодробнееТакое же поведение, как и у APNs. Также срабатывает при очистке данных приложения или восстановлении устройства. Подробнее
Неактивность токенаНет документированного истечения срока действия из-за неактивности. ПодробнееТокены, неактивные более 270 дней, считаются устаревшими/просроченными. FCM помечает их как недействительные. Подробнее

Как поддерживать чистоту списка подписчиков, удаляя недействительные push-токены

Anchor link to

Чтобы поддерживать чистоту списка подписчиков на push-уведомления, регулярно проверяйте статистику доставки, удаляйте недействительные токены и следите за тем, чтобы в вашем приложении и бэкенде всегда были самые свежие данные о токенах.

Pushwoosh предлагает несколько способов помочь вам в этом:

Регулярно отправляйте push-уведомления всей вашей базе подписчиков

Anchor link to

Регулярно отправляйте push-сообщения всей вашей базе подписчиков. Это помогает Pushwoosh выявлять недействительные токены. Когда сообщение не доставляется, как правило, из-за недействительного токена, push-шлюз возвращает ошибку. SDK фиксирует этот ответ и автоматически удаляет недействительный токен, гарантируя, что он будет исключен из будущих отправок.

Важно: Действительность токена проверяется только при отправке push-уведомления. Pushwoosh не выполняет фоновых проверок действительности токенов.

Отмена регистрации устройств с помощью API

Anchor link to

Вы можете использовать метод Device API /bulkUnregisterDevice для удаления push-токенов из вашей базы подписчиков, например, когда пользователи отказываются от подписки или больше не активны.

Для этого:

  1. Создайте сегмент пользователей, соответствующих вашим критериям (например, отказавшиеся от подписки, пользователи бесплатного тарифа или те, кто неактивен в течение X дней).
  2. Экспортируйте сегмент с помощью Control Panel или метода API exportSegment.
  3. Вызовите /bulkUnregisterDevice, чтобы удалить push-токены для устройств в этом сегменте.

Автоматическое удаление неактивных токенов через 90 дней с помощью автовалидации

Anchor link to

Алгоритм автоматической очистки неактивных пользователей в Pushwoosh помогает поддерживать чистоту вашего списка подписчиков, удаляя push-токены пользователей, которые не были активны в течение 90 дней.

Он работает, отслеживая, когда пользователи в последний раз открывали ваше приложение, используя тег по умолчанию Last Application Open. Если пользователь не открывал приложение в течение 90 дней или более, его push-токен помечается как неактивный и удаляется из вашей базы подписчиков.

Используйте отслеживание удалений

Anchor link to

Отслеживание удалений (Uninstall Tracking) поддерживает точность вашего списка подписчиков на push-уведомления, обнаруживая, когда пользователи удаляют ваше приложение. Это позволяет Pushwoosh автоматически удалять недействительные токены.

Примечание: Отслеживание удалений поддерживается только на iOS и Android.

Вот как это работает:

  1. Pushwoosh отправляет тихое push-уведомление один раз в день на все подписанные устройства. Эти тихие уведомления невидимы для пользователей, без оповещений, звуков или значков.
  2. Каждое устройство имеет уникальный push-токен, предоставленный шлюзом уведомлений. Если приложение было удалено, токен становится недействительным. Когда тихое push-уведомление не доставляется, шлюз возвращает ошибку.
  3. Pushwoosh обнаруживает ошибку и удаляет недействительный токен из вашего списка подписчиков.

Ограничения отслеживания удалений

Anchor link to

Шлюзы уведомлений не гарантируют доставку тихих push-уведомлений. Эти сообщения могут быть понижены в приоритете или отброшены шлюзом, что может задержать или ограничить точность обнаружения удалений. Подробнее

Просмотр данных об удалениях

Anchor link to

Для отслеживания активности удалений перейдите в раздел Statistics > Dashboards > Application dashboard в вашей Pushwoosh Control Panel. График App Uninstalls предоставляет временную шкалу тенденций удалений для вашего приложения.

Можно ли восстановить пользователей после удаления push-токена?

Anchor link to

Удаление push-токена любым из поддерживаемых методов легко обратимо.

Когда пользователь снова открывает ваше приложение:

  1. Pushwoosh SDK автоматически запрашивает новый push-токен.
  2. Затем он повторно регистрирует устройство (через registerDevice).
  3. Пользователь снова становится активным подписчиком и будет получать push-уведомления в дальнейшем.