多个用户使用同一设备时处理Apple推送通知的最佳做法

时间:2013-09-11 12:39:25

标签: ios apple-push-notifications

我的应用是特定于用户的。多个用户可以使用同一个设备。我的应用程序具有脱机注销功能。考虑我的一个用户(比如用户1)注销offline.during那时我的服务器向APNS发送user1的通知。一段时间后我的设备上线了。在那段时间我没有登录到应用程序。我的问题是,当我的设备在线时(当网络连接可用时)并且user1被注销,我的应用程序将收到来自APNS服务器的推送通知(那些为已注销用户发送的通知)

4 个答案:

答案 0 :(得分:13)

注销时: [[UIApplication sharedApplication] unregisterForRemoteNotifications];

登录时:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

答案 1 :(得分:2)

这将对您有所帮助:

首先,您必须在用户注销时请求Web服务。此Web服务为将要从服务器数据库注销的用户删除设备令牌。

现在你必须添加一个检查(在你的后端开发人员用来向推送到APNS的网络端推送通知方法),只有具有设备令牌的用户才会发送推送。就是这样。

答案 2 :(得分:0)

当用户退出您的应用时,您可以以编程方式关闭接收推送通知。如果您没有以编程方式关闭推送通知,它将收到通知,因为您的设备令牌已在服务器注册(如果您已连接到互联网)

答案 3 :(得分:0)

注销后,您应该拨打一个服务电话,只是从网络服务器中删除此用户的令牌。

成功登录用户后,您应该像我们一样注册您的设备以进行推送通知。因此,您的设备令牌将再次注册到服务器,以便登录用户。