owe*_*nfi 8 rest push-notification apple-push-notifications ios
当我们退出应用程序时,如何可靠地使设备的推送令牌无效(从我的服务器上删除用户配置文件)给我的服务用户?
我在我的用户配置文件中保留一个包含apns令牌的字符串数组,每当用户在给定设备上启用推送通知时添加一个.
后来我意识到推送令牌对于设备是唯一的,但显然对我的内部用户帐户一无所知,因此如果一个用户注销而另一个用户登录(同一设备),则每个用户都拥有相同的令牌.然后,设备的当前用户获得针对其中任何一个的推送通知.
基本的解决方案是在注销时从用户配置文件中删除设备的令牌,但我想出了一堆陷阱,因为我认为通过:
我是否缺少更多边缘案例,我可以使用哪些策略来解决它们?
您的陷阱确实会带来您可能面临的一些困难情况。我建议您转移或确保推送发送逻辑完全在服务器端:将推送令牌链接到您选择的用户标识符(意味着一个推送令牌确实可以链接到多个用户)。您控制的这个标识符将是您需要发送推送时所针对的帐户标识符。这样,您可以控制哪个用户应该接收通知并根据此标识符检索他的推送令牌(相对于 Apple 提供的任何设备标识符,假设 1 台设备 = 1 个用户)。
如果您的用户离线注销,您将不会知道。您可以向该用户发送通知。如果用户选择对其进行操作,您的应用程序将打开,此时您可以从您的服务器取消订阅用户标识符(因为此时他显然在线)。
| 归档时间: |
|
| 查看次数: |
2823 次 |
| 最近记录: |