我遇到其中一个用户正在继续收到通知时,我的应用程序已被删除,然后重新安装一个不寻常的情况。 该方案如下:
- 用户从AppStore的安装应用
- 用户登录到我们的应用程序,我们将它们注册的通知
- 用户删除其设备应用
- 用户从AppStore的重新安装该应用
- 用户收到通知,即使他们还没有开始应用了没有,登录等
我的APN的对建筑的理解是,一旦你的应用程序从设备中删除,将其从APN的由OS本身注销登记。 应用程序的重新安装不会重新启用通知,直到您叫“registerForRemoteNotificationTypes” - 所以,如果一个音符是因为使用旧令牌发送到设备,的APN不会提供它,因为上面的方法还没有被调用。
那是不准确的?
令牌保持不变。 它甚至在设备上的所有应用程序相同。 只有当你更改OS版本的变化。 然而,这仍然没有解释你所遇到的奇怪的行为。
我认为,苹果标识应用程序已经从设备卸载(当你发送通知到应用程序的特定设备上的设备卸载后,通常会发生)后,才未注册的应用程序。 如果没有通知被发送到卸载卸载的时间和新安装的时间之间的应用程序的设备上的应用程序,苹果不知道卸载该应用的设备,因此它仍然是注册APNS。
反馈服务的行为支持我的理论 - 如果卸载应用程序并调用反馈服务,你就无法得到那个卸载该应用的设备的设备令牌。 您尝试将通知发送到该设备后,才,苹果将检测卸载,并在反馈服务返回的设备令牌。
最后一件事我要补充 - 如果卸载的应用程序是已注册的推送通知设备上的最后一个,该APN服务将永远不会知道,应用程序卸载,因此它仍然会被重新后注册APN安装。
当您删除应用程序,操作系统不会APNS“撤销注册”它。 你必须将通知发送到已删除的应用程序,以一个设备“撤销注册”它。 直到它计算出的应用程序已被删除,这可能需要从APNS几次尝试。