如何在设备上捕获应用程序卸载并让服务器了解这一点(iOS/Android)

dev*_*Rew 8 android triggers uninstall push-notification ios

问题描述:

我们有一个服务,它有主要移动操作系统的应用程序.我们使用推送通知.当用户登录时,我们存储他的设备授权数据(比如令牌)以供稍后在推送服务中使用.问题是一个用户的设备授权很少,并且在用户卸载应用程序时正确地保持它们有效.

例:

我把我的系统登录系统给了几个人,以防万一.他们通过暴徒登录.应用程序和系统自动将一些设备授权添加到数据库(令牌)中.所以现在我们有1个用户的N个设备令牌.因此,如果我们发送推送通知,则每个人都会收到它.现在,假设已安装应用程序的用户想要卸载它.没有注销,他们通过应用程序管理器卸载应用 此时我们没有授权设备的有效数据.如果我们尝试通知他们,通知将无处发送.这对于服务器来说是错误的,无用的工作.如何让核心知道某些存储的数据不再有效?

很快 - 在Android/iOS中是否有可能触发应用程序删除事件.如果应用程序正在删除应用程序调用服务器以清理存储中的数据.或者,如果应用程序处于打开状态且用户将其卸载,是否会触发onDestroy()触发器?还是其他一些?

我不是iOS开发人员,不是Android开发人员,只知道第二个,而不是第一个.任何建议将被认真考虑.提前致谢.

Jen*_*ens 2

这取决于您使用的推送服务。Afaik,如果您正在使用C2DM,卸载应用程序的行为将自动从 C2DM 取消注册。

编辑:

哦,关于 iOS - 据我所知,它不会直接跟踪已卸载的应用程序,但它确实提供了失败的通知反馈服务,在一系列失败的通知(由设备向推送网络报告)之后,它会通知您 - 允许您清理卸载应用程序后启动。