如何防止 android 应用程序在重新安装时从 GCM 接收推送通知,直到用户通过我的网络服务进行身份验证

How to prevent android app from receiving push notifications from GCM on reinstall , until user authenticates with my web service

我已经实现了一个应用程序来接收来自 GCM 的推送通知,但是当用户重新安装应用程序时,GCM 会根据从网络服务发送到 GCM 的旧注册 ID 发送通知。在用户从应用程序使用 Web 服务进行身份验证之前,如何阻止这些通知。

我在 SharedPreferences 中为每个用户存储我的注册 ID 和用户手机,当应用程序重新安装时它会被重置,但我无法更新此注册 ID,因为网络服务需要手机号码来编辑数据库。

我的网络服务是在php

中实现的

不,我明白你的问题 看到有两种解决方法

  1. 当您注册 GCM 时,您需要发送您在 Google 帐户上创建的 ProjectId 以识别设备 我的建议是,你们应该保存设备的 IMEI 号码,每当您重新启动应用程序时,将该 IMEI 号码发送回您的后端,然后在用户未登录时删除该条目。

  2. 在您的应用程序中保持一个轮询间隔,它会 ping 回所有已登录的用户,并设置超时间隔并注销超过超时期限的用户,重要的是只 ping 已登录的用户,这样人们就不会登录他们的注册 ID 被清除。