use*_*507 5 iphone account xcode apple-push-notifications
我目前正在调查在线离线支持的应用程序并弄清楚APNS的使用情况,当我的应用程序仅处理单个用户时,我很容易理解.(就像短信一样)
我的理解是,安装到特定设备的每个应用程序都有自己的设备令牌(即使在注销到APNS并再次重新注册后也不会更改).因此,当用户从不同设备登录时,APNS又可以识别服务器.
但是,当我尝试实现多个帐户应用程序(就像Facebook,不同的人可以使用同一个手机登录)时,出现了一些问题.
当用户A登录并且应用程序处于后台状态时,它确实收到了通知.
但是当用户A注销时(当手机没有互联网连接时,这意味着无法立即更新服务器以删除帐户),然后用户B登录,同时服务器试图将通知推送到手机用户A,电话已经收到通知(但这是用户A的通知),用户B会收到通知(在实际情况下不应该发生).
似乎APNS无法检查应用程序内帐户身份验证.
所以,我的问题是,
有没有办法检查和删除手机上的通知(我已阅读Apple Doc.并注意到存储了最后一次通知的QoS)?
使用APNS时处理此类身份验证问题的良好做法是什么?
如果我有任何概念上的误解,请(如果有的话)纠正我.并希望我的问题听起来不愚蠢和笨拙,并没有任何问题重复......
所以,首先:
用户A如何在没有网络的情况下注销并登录Facebook?
当用户 B 登录时,因此互联网已连接,然后您可以发送到您的服务器:现在 userB 在此设备令牌上。
对于情况:用户 B 登录,同时服务器尝试向用户 A 的手机推送通知
如果应用程序运行,那么您将收到 APNS 通知
application: (UIApplication*)app didRegisterForRemoteNotificationsWithDeviceToken: (NSData*)deviceToken
Run Code Online (Sandbox Code Playgroud)
不在设备通知中心消息窗口中。
你可以这样做:
1) 如果 userA 已登录,则发送本地通知以显示通知
2)如果日志中的其他用户或用户已注销,则不执行任何操作
希望有帮助。如果你指的是其他人,也许我错了。
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |