如何捕捉设备上的应用程序卸载并让服务器知道这个(iOS / Android)

问题描述:

我们有一个主要的移动操作系统的应用程序的服务。 我们使用推送通知。 当用户login时,我们存储他的设备授权数据(可以说是令牌),以便以后在推送服务中使用。 问题是一个用户的设备授权很less,并且在用户卸载该应用程序时正确保持其有效性。

例:

我给我的系统login了几个人,以防万一。 他们通过暴徒login。 应用程序和系统自动添加一些设备授权到数据库(令牌)。 所以现在我们有一个用户有N个设备令牌。 所以如果我们发送推送通知,每个人都会收到。 现在,假设已经安装了应用程序的用户想要卸载它。 没有注销他们通过应用程序pipe理器卸载应用程序。 在这个时候,我们没有有效的数据授权设备。 如果我们试图通知他们,通知将被发送到任何地方。 哪个是错误的,对于服务器是无用的。 如何让核心知道一些存储的数据不再有效?

很快 – 在Android / iOS中是否有可能触发应用程序删除事件。 如果应用程序正在删除应用程序调用服务器来清理存储器中的数据。 或者,如果应用程序是打开的,用户卸载它,会不会有onDestroy()触发器? 还是其他的?

我不是iOS开发人员,不是Android开发人员,只是对第二个问题有所了解,而不是第一个问题。 任何build议将被认真考虑。 提前致谢。

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

编辑:

哦,关于iOS – afaik它不直接跟踪未安装的应用程序,但它会提供一个失败的通知反馈服务,在一系列失败的通知(由设备向推送networking报告)通知您之后 – 允许您清理在卸载应用程序后。

我不能为iOS发言。 在Android中卸载应用程序时无法控制。