我的理解是,安装到特定设备的每个应用程序都有自己的设备令牌(即使在注销到APNS并再次重新注册后也不会更改).因此,当用户从不同设备登录时,APNS又可以识别服务器.
但是,当我尝试实现多个帐户应用程序(就像Facebook,不同的人可以使用同一个手机登录)时,出现了一些问题.
当用户A登录并且应用程序处于后台状态时,它确实收到了通知.
但是当用户A注销时(当手机没有互联网连接时,这意味着无法立即更新服务器以删除帐户),然后用户B登录,同时服务器试图将通知推送到手机用户A,电话已经收到通知(但这是用户A的通知),用户B会收到通知(在实际情况下不应该发生).
似乎APNS无法检查应用程序内帐户身份验证.
所以,我的问题是,
>有没有办法检查和删除手机上的通知(我已经阅读了Apple Doc.并注意到存储了最后通知的QoS)?
>使用APNS时处理此类身份验证问题的良好做法是什么?
如果我有任何概念上的误解,请(如果有的话)纠正我.并希望我的问题听起来不愚蠢和笨拙,并没有任何问题重复……
解决方法 所以,起初:用户A如何在没有互联网的情况下注销并登录Facebook?
当用户B登录时,因此连接了互联网,然后您可以发送到您的服务器:现在是此设备令牌上的userB.
例如:用户B登录,同时服务器试图将通知推送到手机
对于用户A.
如果app已运行,那么您将获得APNS通知
application: (UIApplication*)app dIDRegisterForRemoteNotificationsWithDevicetoken: (NSData*)devicetoken
不在设备通知中心消息窗口中.
你可以这样做:
1)如果userA已经在日志中,则发送本地通知以显示通知
2)如果日志OR用户中的其他用户被注销,那么什么都不做
希望它有所帮助.也许我错了,如果你的意思是另一个.
总结以上是内存溢出为你收集整理的iphone – 如何使用APNS处理多账户应用?全部内容,希望文章能够帮你解决iphone – 如何使用APNS处理多账户应用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)