我目前正在研究一个支持在线离线的应用程序并弄清楚APNS的用法,当我的应用程序只处理单个用户时很容易理解。(就像短信一样)
我的理解是,安装到特定设备的每个应用程序都会有自己的设备令牌(即使在取消注册到 APNS 并重新注册后也不会更改)。因此,当用户从不同的设备登录时,APNS 进而服务器可以识别。
但是,当我尝试实现多帐户应用程序(就像 Facebook,不同的人可以使用同一部手机登录)时,出现了一些问题。
当用户 A 登录并且应用程序处于后台状态时,是的,它确实收到了通知。
但是当用户A退出时(当手机没有互联网连接时,这意味着无法立即更新服务器以删除帐户),然后用户B登录,同时服务器试图向用户推送通知到手机A,电话已经收到通知(但这是用户 A 的通知),用户 B 会收到通知(这在实际场景中永远不会发生)。
似乎 APNS 无法检查应用程序帐户身份验证。
所以,我的问题是,
有什么方法可以检查和删除手机上的通知(我已经阅读了 Apple Doc。并注意到有一个 QoS 存储了最后一个通知)?
在使用 APNS 时处理此类身份验证问题的良好做法是什么?
如果我确实有任何概念上的误解,请纠正我。并希望我的问题听起来不愚蠢和笨拙,并且没有任何问题重复......