11

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

4

4 回答 4

13

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

登录时:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
于 2013-09-12T05:52:58.473 回答
2

这肯定会帮助你:

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

现在您必须添加一个检查(在 Web 端的推送通知方法中,您的后端开发人员正在使用该方法向 APNS 发送推送请求),只有推送才会发送给拥有设备令牌的用户。而已。

于 2013-09-11T13:01:30.677 回答
0

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

于 2013-09-11T12:46:04.967 回答
-1

注销后,您应该进行一次服务调用,只需从网络服务器中清除该用户的令牌。

用户成功登录后,您应该像我们一样正常注册您的设备以获取推送通知。因此,您的设备令牌将再次向特定登录用户的服务器注册。

于 2013-09-11T13:02:39.727 回答