新鲜重新安装后删除iOS推送通知
我已经成功集成了苹果推送通知的应用程序,当用户login到应用程序应用程序注册推送通知和令牌保存在我们的后端,当用户从应用程序注销,我们删除推送通知令牌从我们后端。 但如果用户从应用程序卸载应用程序没有签出,然后重新安装,在这种情况下,我们仍然可以发送推送通知到设备,因为应用程序是新安装的,并没有login任何用户,我们必须删除令牌从后端。 由于iOS应用程序没有用于卸载事件的API,我怎样才能从后端删除设备标记。 我可以使用推送通知反馈服务来获取卸载的设备令牌,但是如何解决用户删除应用程序然后重新安装时的问题。
我用skypetesting了这个场景,它也有这个问题。 (安装Skype>login>(现在你可以发送应用程序到后台,并从任何其他设备发送聊天,你会得到推送通知)>然后从应用程序中删除应用程序没有从Skype注销>现在重新安装Skype>我们发送Skype聊天我们收到推送通知,但Skype应用程序是新安装的,没有人login)
我猜你可以做的最好的事情是预防性地取消注册/删除令牌,当应用程序启动时没有login的用户。 每次启动应用程序时,您都应该更新注册,因此根据用户是否login,在每个应用程序启动时注册/取消注册。 这样,如果用户重新安装应用程序并在第一次启动它,它将被取消注册。
这是你可以达到的最好的行为,因为它是相同的Twitter,Facebook,Skype等…
我认为你无法获得一个事件或检测用户是否已经删除了该应用程序。 你可以做的是定期发送通知给设备(只设置标志,不发送通知),并删除令牌,你得到了一个401状态码。 然后您知道该应用程序已被删除,您可以删除该令牌。
是啊! 正如你引用自己的话,它将继续发送通知,除非你的服务器有信息,有人已经注销。 当你的应用程序被卸载,然后重新安装时,显然你不会得到信息。
解决方法:如果您的应用程序重新安装,您可以调用一个API来取消注册,因为没有用户login。