管理您的推送订阅用户群
在 Pushwoosh 中,每个订阅用户都通过一个 push token(推送令牌)来识别,这是一个唯一的标识符,用于将消息传送到特定设备。本文将介绍 push token 的工作原理以及如何在您的订阅用户群中仅保留有效的令牌。
了解 push token 及其工作原理
Anchor link topush token 是由其推送服务提供商分配给设备上特定应用实例的唯一匿名标识符:
- 适用于 iOS 设备的 Apple Push Notification Service (APNs)
- 适用于 Android 设备的 Firebase Cloud Messaging (FCM)
该令牌确保推送通知能够被发送到用户设备上的正确应用。
在 Pushwoosh 中,push token 的生命周期包括以下几个关键阶段:
-
当应用首次启动时,它会向设备的操作系统 (OS) 请求接收推送通知的权限。
-
应用的推送服务(例如,iOS 的 APNs,Android 的 FCM)会为该应用实例生成一个唯一的 push token。默认情况下,即使户尚未授予通知显示权限,Pushwoosh SDK 也会收集并存储此令牌。推送消息不会显示给这些用户,但该令牌仍可用于向其应用内收件箱(Pushwoosh 中的另一个消息渠道)发送消息。
但是,您可以将 SDK 配置为仅从已授予权限的用户那里收集令牌。
-
应用使用 Pushwoosh SDK 通过
/registerDeviceAPI 端点将此令牌连同设备数据(包括硬件 ID 或 HWID)发送到 Pushwoosh 数据库。 -
Pushwoosh 会安全地存储该令牌,以备将来发送消息时使用。
-
当触发通知时,Pushwoosh 使用存储的令牌通过适当的交付网关路由消息。
-
选定的网关将消息传送到设备,操作系统会根据系统和应用的通知设置来显示它。
-
如果 push token 失效(例如,由于应用卸载),Pushwoosh 会在下一次发送通知后检测到交付失败,此时网关会返回发送错误列表,包括过期/无效/等的令牌。然后 Pushwoosh 会将该令牌标记为不活跃,并从数据库中删除。如果应用在同一设备上重新安装,系统将颁发一个新的令牌。
push token 失效的常见原因
Anchor link to虽然 Apple Push Notification Service (APNs) 和 Firebase Cloud Messaging (FCM) 并未完全透明地公开令牌生命周期策略,也不允许主动进行令牌验证,但在一些已知场景下,push token 可能会失效或过期。
| 原因 | APNs (iOS) | FCM (Android) |
|---|---|---|
| 应用卸载 | 应用卸载后令牌失效。APNs 最终会返回一个 410 Unregistered 错误。Apple 没有具体说明失效发生的时间;可能需要几分钟到几天不等。了解更多 | 卸载后令牌立即失效。后续发送会返回一个 Unregistered 错误。了解更多 |
| 令牌刷新 | 在操作系统升级、设备备份/恢复、应用重装或操作系统更新后,APNs 会颁发新令牌。了解更多 | 与 APNs 行为相同。清除应用数据或恢复设备也会触发。了解更多 |
| 令牌不活跃 | 没有因不活跃而过期的文档记录。了解更多 | 超过 270 天不活跃的令牌被认为是过时/过期的。FCM 会将其标记为无效。了解更多 |
如何通过移除无效的 push token 来保持订阅用户列表的清洁
Anchor link to要保持您的推送订阅用户列表清洁,请定期检查发送统计数据,移除无效令牌,并确保您的应用和后端始终拥有最新的令牌数据。
Pushwoosh 提供了几种方法来帮助您实现这一目标:
定期向您的整个订阅用户群发送推送通知
Anchor link to定期向您的整个订阅用户群发送推送消息。这有助于 Pushwoosh 识别无效令牌。当消息发送失败时(通常是由于令牌无效),推送网关会返回一个错误。SDK 会捕获此响应并自动移除无效令牌,确保其在未来的发送中被排除。
重要提示: 仅在发送推送时才会检查令牌的有效性。Pushwoosh 不会执行令牌有效性的后台检查。
使用 API 注销设备
Anchor link to您可以使用 /bulkUnregisterDevice Device API 方法从您的订阅用户群中移除 push token,例如,当用户选择退出或不再活跃时。
操作步骤:
- 构建一个符合您标准的用户细分(例如,已选择退出、免费套餐用户或不活跃 X 天的用户)。
- 使用控制面板或
exportSegmentAPI 方法导出该细分。 - 调用
/bulkUnregisterDevice来删除该细分中设备的 push token。
通过自动验证在 90 天后自动移除不活跃令牌
Anchor link toPushwoosh 中的自动不活跃清理算法通过移除 90 天未活跃用户的 push token 来帮助您保持订阅用户列表的清洁。
它的工作原理是使用默认的 Last Application Open 标签来跟踪用户上次打开应用的时间。如果用户 90 天或更长时间没有打开应用,他们的 push token 将被标记为不活跃并从您的订阅用户群中移除。
使用卸载跟踪
Anchor link to卸载跟踪通过检测用户何时卸载您的应用来保持您的推送订阅用户列表的准确性。这使得 Pushwoosh 能够自动移除无效令牌。
注意: 卸载跟踪仅在 iOS 和 Android 上受支持。
其工作原理如下:
- Pushwoosh 每天向所有已订阅的设备发送一次静默推送通知。这些静默通知对用户不可见,没有警报、声音或角标。
- 每个设备都有一个由通知网关提供的唯一 push token。如果应用已被卸载,该令牌将失效。当静默推送失败时,网关会返回一个错误。
- Pushwoosh 检测到该错误并从您的订阅用户列表中移除无效令牌。
卸载跟踪的局限性
Anchor link to通知网关不保证静默推送的送达。这些消息可能会被网关降级处理或丢弃,这可能会延迟或限制卸载检测的准确性。了解更多
查看卸载数据
Anchor link to要监控卸载活动,请在您的 Pushwoosh 控制面板中导航至 Statistics > Dashboards > Application dashboard。App Uninstalls 图表提供了您应用卸载趋势的时间线视图。
删除 push token 后可以恢复用户吗?
Anchor link to使用任何支持的方法删除 push token 都是可以轻松恢复的。
当用户重新打开您的应用时:
- Pushwoosh SDK 会自动请求一个新的 push token。
- 然后它会重新注册设备(通过
registerDevice)。 - 用户再次成为活跃订阅用户,并将在之后接收推送通知。