푸시 구독자 기반 관리
Pushwoosh에서 각 구독자는 푸시 토큰으로 식별됩니다. 푸시 토큰은 특정 기기로 메시지를 전달할 수 있게 해주는 고유 식별자입니다. 이 게시물에서는 푸시 토큰의 작동 방식과 구독자 기반에 유효한 토큰만 유지하는 방법을 다룹니다.
푸시 토큰의 이해와 작동 방식
Anchor link to푸시 토큰은 푸시 서비스 제공업체에 의해 기기의 특정 앱 인스턴스에 할당된 고유하고 익명의 식별자입니다:
- iOS 기기의 경우 Apple Push Notification Service (APNs)
- Android 기기의 경우 Firebase Cloud Messaging (FCM)
이 토큰은 푸시 알림이 사용자의 기기에 있는 올바른 앱으로 전달되도록 보장합니다.
Pushwoosh에서 푸시 토큰의 수명 주기는 다음과 같은 주요 단계를 포함합니다:
-
앱이 처음 실행되면 기기의 운영 체제(OS)에 푸시 알림 수신 권한을 요청합니다.
-
애플리케이션의 푸시 서비스(예: iOS의 경우 APNs, Android의 경우 FCM)는 해당 앱 인스턴스에 대한 고유한 푸시 토큰을 생성합니다. 기본적으로 Pushwoosh SDK는 사용자가 알림 표시 권한을 부여하지 않았더라도 이 토큰을 수집하고 저장합니다. 이러한 사용자에게는 푸시 메시지가 표시되지 않지만, 이 토큰은 Pushwoosh의 다른 메시징 채널인 애플리케이션 받은 편지함으로 메시지를 보내는 데 계속 사용될 수 있습니다.
그러나 권한을 부여한 사용자로부터만 토큰을 수집하도록 SDK를 구성할 수 있습니다.
-
앱은 Pushwoosh SDK를 사용하여 이 토큰을 기기 데이터(하드웨어 ID 또는 HWID 포함)와 함께
/registerDeviceAPI 엔드포인트를 통해 Pushwoosh 데이터베이스로 전송합니다. -
Pushwoosh는 향후 메시징을 위해 토큰을 안전하게 저장합니다.
-
알림이 트리거되면 Pushwoosh는 저장된 토큰을 사용하여 적절한 전송 게이트웨이를 통해 메시지를 라우팅합니다.
-
선택된 게이트웨이는 메시지를 기기로 전달하고, OS는 시스템 및 앱 알림 설정에 따라 메시지를 표시합니다.
-
푸시 토큰이 유효하지 않게 되면(예: 앱 제거로 인해), Pushwoosh는 다른 알림 발송 후 게이트웨이가 만료/무효 등의 토큰을 포함한 발송 오류 목록을 반환할 때 전송 실패를 감지합니다. 그러면 Pushwoosh는 해당 토큰을 비활성으로 표시하고 데이터베이스에서 삭제합니다. 동일한 기기에 앱이 다시 설치되면 새 토큰이 발급됩니다.
푸시 토큰이 무효화되는 일반적인 이유
Anchor link toApple Push Notification Service (APNs)와 Firebase Cloud Messaging (FCM)은 토큰 수명 주기 정책에 대한 완전한 투명성을 제공하거나 사전 토큰 유효성 검사를 허용하지 않지만, 푸시 토큰이 무효화되거나 만료될 수 있는 알려진 시나리오가 있습니다.
| 원인 | APNs (iOS) | FCM (Android) |
|---|---|---|
| 앱 제거 | 앱 제거 후 토큰이 무효화됩니다. APNs는 결국 410 Unregistered 오류를 반환합니다. Apple은 무효화가 언제 발생하는지 명시하지 않으며, 몇 분에서 며칠까지 걸릴 수 있습니다. 자세히 알아보기 | 제거 시 토큰이 즉시 무효화됩니다. 이후 전송 시 Unregistered 오류가 반환됩니다. 자세히 알아보기 |
| 토큰 새로고침 | APNs는 OS 업그레이드, 기기 백업/복원, 앱 재설치 또는 OS 업데이트 후 새 토큰을 발급합니다. 자세히 알아보기 | APNs와 동일한 동작입니다. 앱 데이터 삭제 또는 기기 복원에 의해서도 트리거됩니다. 자세히 알아보기 |
| 토큰 비활성 | 비활성으로 인한 만료는 문서화되어 있지 않습니다. 자세히 알아보기 | 270일 이상 비활성 상태인 토큰은 오래되었거나 만료된 것으로 간주됩니다. FCM은 이를 무효로 표시합니다. 자세히 알아보기 |
잘못된 푸시 토큰을 제거하여 구독자 목록을 깨끗하게 유지하는 방법
Anchor link to푸시 구독자 목록을 깨끗하게 유지하려면 정기적으로 전송 통계를 확인하고, 잘못된 토큰을 제거하며, 앱과 백엔드가 항상 최신 토큰 데이터를 가지고 있도록 해야 합니다.
Pushwoosh는 이를 돕기 위해 여러 가지 방법을 제공합니다:
전체 구독자 기반에 정기적으로 푸시 알림 보내기
Anchor link to전체 구독자 기반에 정기적으로 푸시 메시지를 보내세요. 이는 Pushwoosh가 잘못된 토큰을 식별하는 데 도움이 됩니다. 일반적으로 잘못된 토큰으로 인해 메시지 전송이 실패하면 푸시 게이트웨이는 오류를 반환합니다. SDK는 이 응답을 캡처하고 잘못된 토큰을 자동으로 제거하여 향후 전송에서 제외되도록 합니다.
중요: 토큰 유효성은 푸시가 전송될 때만 확인됩니다. Pushwoosh는 토큰 유효성에 대한 백그라운드 확인을 수행하지 않습니다.
API를 사용하여 기기 등록 해제하기
Anchor link to/bulkUnregisterDevice Device API 메서드를 사용하여 구독자 기반에서 푸시 토큰을 제거할 수 있습니다. 예를 들어, 사용자가 수신 거부하거나 더 이상 활동하지 않을 때 사용할 수 있습니다.
방법:
- 기준에 맞는 사용자 세그먼트를 만듭니다(예: 수신 거부, 무료 등급 사용자 또는 X일 동안 비활성 상태인 사용자).
- 제어판 또는
exportSegmentAPI 메서드를 사용하여 세그먼트를 내보냅니다. /bulkUnregisterDevice를 호출하여 해당 세그먼트의 기기에 대한 푸시 토큰을 삭제합니다.
자동 유효성 검사로 90일 후 비활성 토큰 자동 제거
Anchor link toPushwoosh의 자동 비활성 정리 알고리즘은 90일 동안 활동이 없는 사용자의 푸시 토큰을 제거하여 구독자 목록을 깨끗하게 유지하는 데 도움이 됩니다.
이 알고리즘은 기본 Last Application Open 태그를 사용하여 사용자가 마지막으로 앱을 연 시점을 추적하는 방식으로 작동합니다. 사용자가 90일 이상 앱을 열지 않으면 해당 푸시 토큰은 비활성으로 표시되고 구독자 기반에서 제거됩니다.
제거 추적 사용하기
Anchor link to제거 추적은 사용자가 앱을 제거할 때를 감지하여 푸시 구독자 목록을 정확하게 유지합니다. 이를 통해 Pushwoosh는 잘못된 토큰을 자동으로 제거할 수 있습니다.
참고: 제거 추적은 iOS와 Android에서만 지원됩니다.
작동 방식은 다음과 같습니다:
- Pushwoosh는 하루에 한 번 모든 구독 기기에 자동 푸시 알림을 보냅니다. 이러한 자동 알림은 사용자에게 보이지 않으며 알림, 소리 또는 배지가 없습니다.
- 각 기기에는 알림 게이트웨이에서 제공하는 고유한 푸시 토큰이 있습니다. 앱이 제거되면 토큰이 무효화됩니다. 자동 푸시가 실패하면 게이트웨이는 오류를 반환합니다.
- Pushwoosh는 오류를 감지하고 구독자 목록에서 잘못된 토큰을 제거합니다.
제거 추적의 한계
Anchor link to알림 게이트웨이는 자동 푸시의 전달을 보장하지 않습니다. 이러한 메시지는 게이트웨이에 의해 우선순위가 낮아지거나 삭제될 수 있으며, 이로 인해 제거 감지의 정확성이 지연되거나 제한될 수 있습니다. 자세히 알아보기
제거 데이터 보기
Anchor link to제거 활동을 모니터링하려면 Pushwoosh 제어판에서 통계 > 대시보드 > 애플리케이션 대시보드로 이동하세요. App Uninstalls 그래프는 애플리케이션의 제거 추세에 대한 타임라인 뷰를 제공합니다.
푸시 토큰 삭제 후 사용자를 복원할 수 있나요?
Anchor link to지원되는 방법을 사용하여 푸시 토큰을 삭제하는 것은 쉽게 되돌릴 수 있습니다.
사용자가 앱을 다시 열면:
- Pushwoosh SDK는 자동으로 새 푸시 토큰을 요청합니다.
- 그런 다음 기기를 다시 등록합니다(
registerDevice를 통해). - 사용자는 다시 활성 구독자가 되며 앞으로 푸시 알림을 받게 됩니다.