Управление базой подписчиков на push-уведомления
В Pushwoosh каждый подписчик идентифицируется с помощью push-токена — уникального идентификатора, который позволяет доставлять сообщения на конкретное устройство. В этой статье рассказывается, как работают push-токены и как сохранить в базе подписчиков только действительные токены.
Что такое push-токены и как они работают
Anchor link toPush-токен — это уникальный анонимный идентификатор, присваиваемый конкретному экземпляру приложения на устройстве его поставщиком push-сервиса:
- Apple Push Notification Service (APNs) для устройств iOS
- Firebase Cloud Messaging (FCM) для устройств Android
Этот токен гарантирует, что push-уведомления будут доставлены в нужное приложение на устройстве пользователя.
В Pushwoosh жизненный цикл push-токена включает следующие ключевые этапы:
-
При первом запуске приложение запрашивает у операционной системы (ОС) устройства разрешение на получение push-уведомлений.
-
Push-сервис приложения (например, APNs для iOS, FCM для Android) генерирует уникальный push-токен для этого экземпляра приложения. По умолчанию Pushwoosh SDK собирает и сохраняет этот токен, даже если пользователь не дал разрешения на отображение уведомлений. Push-сообщения не будут показываться этим пользователям, но токен все равно можно использовать для отправки сообщений в их почтовый ящик приложения — еще один канал обмена сообщениями в Pushwoosh.
Однако вы можете настроить SDK так, чтобы он собирал токены только от пользователей, которые дали разрешение.
-
Приложение использует Pushwoosh SDK для отправки этого токена в базу данных Pushwoosh вместе с данными устройства (включая аппаратный идентификатор или HWID) в Pushwoosh через конечную точку API
/registerDevice. -
Pushwoosh надежно хранит токен для будущих сообщений.
-
Когда срабатывает уведомление, Pushwoosh использует сохраненный токен для маршрутизации сообщения через соответствующий шлюз доставки.
-
Выбранный шлюз доставляет сообщение на устройство, и ОС отображает его в соответствии с системными настройками и настройками уведомлений приложения.
-
Если 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-токенов из вашей базы подписчиков, например, когда пользователи отказываются от подписки или больше не активны.
Для этого:
- Создайте сегмент пользователей, соответствующих вашим критериям (например, отказавшиеся от подписки, пользователи бесплатного тарифа или те, кто неактивен в течение X дней).
- Экспортируйте сегмент с помощью Control Panel или метода API
exportSegment. - Вызовите
/bulkUnregisterDevice, чтобы удалить push-токены для устройств в этом сегменте.
Автоматическое удаление неактивных токенов через 90 дней с помощью автовалидации
Anchor link toАлгоритм автоматической очистки неактивных пользователей в Pushwoosh помогает поддерживать чистоту вашего списка подписчиков, удаляя push-токены пользователей, которые не были активны в течение 90 дней.
Он работает, отслеживая, когда пользователи в последний раз открывали ваше приложение, используя тег по умолчанию Last Application Open. Если пользователь не открывал приложение в течение 90 дней или более, его push-токен помечается как неактивный и удаляется из вашей базы подписчиков.
Используйте отслеживание удалений
Anchor link toОтслеживание удалений (Uninstall Tracking) поддерживает точность вашего списка подписчиков на push-уведомления, обнаруживая, когда пользователи удаляют ваше приложение. Это позволяет Pushwoosh автоматически удалять недействительные токены.
Примечание: Отслеживание удалений поддерживается только на iOS и Android.
Вот как это работает:
- Pushwoosh отправляет тихое push-уведомление один раз в день на все подписанные устройства. Эти тихие уведомления невидимы для пользователей, без оповещений, звуков или значков.
- Каждое устройство имеет уникальный push-токен, предоставленный шлюзом уведомлений. Если приложение было удалено, токен становится недействительным. Когда тихое push-уведомление не доставляется, шлюз возвращает ошибку.
- Pushwoosh обнаруживает ошибку и удаляет недействительный токен из вашего списка подписчиков.
Ограничения отслеживания удалений
Anchor link toШлюзы уведомлений не гарантируют доставку тихих push-уведомлений. Эти сообщения могут быть понижены в приоритете или отброшены шлюзом, что может задержать или ограничить точность обнаружения удалений. Подробнее
Просмотр данных об удалениях
Anchor link toДля отслеживания активности удалений перейдите в раздел Statistics > Dashboards > Application dashboard в вашей Pushwoosh Control Panel. График App Uninstalls предоставляет временную шкалу тенденций удалений для вашего приложения.
Можно ли восстановить пользователей после удаления push-токена?
Anchor link toУдаление push-токена любым из поддерживаемых методов легко обратимо.
Когда пользователь снова открывает ваше приложение:
- Pushwoosh SDK автоматически запрашивает новый push-токен.
- Затем он повторно регистрирует устройство (через
registerDevice). - Пользователь снова становится активным подписчиком и будет получать push-уведомления в дальнейшем.