我的应用是特定于用户的。多个用户可以使用同一个设备。我的应用程序具有脱机注销功能。考虑我的一个用户(比如用户1)注销offline.during那时我的服务器向APNS发送user1的通知。一段时间后我的设备上线了。在那段时间我没有登录到应用程序。我的问题是,当我的设备在线时(当网络连接可用时)并且user1被注销,我的应用程序将收到来自APNS服务器的推送通知(那些为已注销用户发送的通知)
答案 0 :(得分:13)
注销时:
[[UIApplication sharedApplication] unregisterForRemoteNotifications];
登录时:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
答案 1 :(得分:2)
这将对您有所帮助:
首先,您必须在用户注销时请求Web服务。此Web服务为将要从服务器数据库注销的用户删除设备令牌。
现在你必须添加一个检查(在你的后端开发人员用来向推送到APNS的网络端推送通知方法),只有具有设备令牌的用户才会发送推送。就是这样。
答案 2 :(得分:0)
当用户退出您的应用时,您可以以编程方式关闭接收推送通知。如果您没有以编程方式关闭推送通知,它将收到通知,因为您的设备令牌已在服务器注册(如果您已连接到互联网)
答案 3 :(得分:0)
注销后,您应该拨打一个服务电话,只是从网络服务器中删除此用户的令牌。
成功登录用户后,您应该像我们一样注册您的设备以进行推送通知。因此,您的设备令牌将再次注册到服务器,以便登录用户。