Iphone 我应该如何使用APN处理多帐户应用程序?
我目前正在一个支持在线和离线的应用程序中进行调查,了解APN的使用情况,当我的应用程序只处理单个用户时,这很容易理解。(就像SMS一样) 我的理解是,安装到特定设备上的每个应用程序都有自己的设备令牌(即使在注销到APN并重新注册后也不会更改)。因此,当用户从不同的设备登录时,APN和服务器可以识别 然而,当我尝试实现一个多账户应用程序(就像Facebook一样,不同的人可以使用同一部手机登录)时,出现了一些问题 当用户A登录且应用程序处于后台状态时,它确实收到了通知 但是,当用户A注销(当手机没有互联网连接时,这意味着无法立即更新服务器以删除帐户),然后用户B登录,同时服务器尝试向手机推送用户A的通知时,手机已收到通知(但这是用户A的通知)而用户B将收到这个消息(这在真实场景中永远不会发生) 似乎APNS无法签入应用程序帐户身份验证 所以,我的问题是Iphone 我应该如何使用APN处理多帐户应用程序?,iphone,xcode,apple-push-notifications,account,Iphone,Xcode,Apple Push Notifications,Account,我目前正在一个支持在线和离线的应用程序中进行调查,了解APN的使用情况,当我的应用程序只处理单个用户时,这很容易理解。(就像SMS一样) 我的理解是,安装到特定设备上的每个应用程序都有自己的设备令牌(即使在注销到APN并重新注册后也不会更改)。因此,当用户从不同的设备登录时,APN和服务器可以识别 然而,当我尝试实现一个多账户应用程序(就像Facebook一样,不同的人可以使用同一部手机登录)时,出现了一些问题 当用户A登录且应用程序处于后台状态时,它确实收到了通知 但是,当用户A注销(当手机没
application: (UIApplication*)app didRegisterForRemoteNotificationsWithDeviceToken: (NSData*)deviceToken
不在设备通知中心消息窗口中
你可以这样做:
1) 如果userA已经在日志中,则发送本地通知以显示通知
2) 如果日志中的其他用户或已注销的用户,则不执行任何操作
希望有帮助。也许我错了,如果你指的是另一个人 如果你有从应用“注销”的功能(不登录新用户),我无法找到任何方法停止发送推送通知,除非让服务器知道用户已注销 如果没有internet连接,则无法正确注销。如果需要此功能,应使用服务器验证注销。可能会通知用户注销失败,因为无法访问服务器 以下是一个例子:
- 用户A登录具有设备令牌TX的设备X ->服务器将令牌TX关联为属于用户A
- 用户A登录到具有设备令牌TY的设备Y ->服务器将令牌TX和TY关联为属于用户A
- 发送给用户A的推送消息 ->服务器向TX和TY发送推送消息
- 用户A从设备X注销,用户B在设备X上登录 ->服务器删除令牌TX与用户A的关联 ->服务器将令牌TX关联到用户B
- 发送给用户A的推送消息 ->服务器向TY发送推送消息
- 发送给用户B的推送消息 ->服务器向TX发送推送消息
- 用户B注销,但没有internet连接 ->登录失败,用户B仍然登录,收到“无法注销”对话框