This question already has answers here:
Do old GCM tokens live on even after an uninstall?
(2个答案)
5年前关闭。
我目前正在尝试使用GCM向用户发送通知,并且目前我仍在研究如何最大限度地利用它。现在,我仅使用here文档中提供的示例项目,并使用gcm-client示例对其进行处理。
现在使用此project from Git,我尝试使用应用程序创建的注册ID推送消息,是的,它成功发送了消息。
现在的问题是,在我卸载了应用程序之后。重新安装后,它将生成一个新的注册ID,并将其与先前的ID一起存储在服务器上,但是我无法标记先前的注册ID以不接收任何其他消息,因为当用户没有互联网时可能会发生卸载联系。之后,我向两个注册ID发送一条消息,分别是卸载应用程序之前的ID和重新安装应用程序之后的ID。发生的是,尽管我希望它只会收到一条推送消息,但由于该应用程序已经更改了注册ID,所以我仍然收到两条推送消息。
我希望如果我也更新了该应用程序,则该应用程序可能会收到两个或多个重复的应用程序,因为如文档所述,注册ID可能会在更新时更改。
我可以采取任何解决方法来处理这些重复的消息? Android GCM and multiple tokens Unregistering and re-registering for GCM messages causes two regId's to be valid. Is this as intended? Do old GCM tokens live on even after an uninstall?
对于此问题,有一个称为“规范ID”的功能:
(2个答案)
5年前关闭。
我目前正在尝试使用GCM向用户发送通知,并且目前我仍在研究如何最大限度地利用它。现在,我仅使用here文档中提供的示例项目,并使用gcm-client示例对其进行处理。
现在使用此project from Git,我尝试使用应用程序创建的注册ID推送消息,是的,它成功发送了消息。
现在的问题是,在我卸载了应用程序之后。重新安装后,它将生成一个新的注册ID,并将其与先前的ID一起存储在服务器上,但是我无法标记先前的注册ID以不接收任何其他消息,因为当用户没有互联网时可能会发生卸载联系。之后,我向两个注册ID发送一条消息,分别是卸载应用程序之前的ID和重新安装应用程序之后的ID。发生的是,尽管我希望它只会收到一条推送消息,但由于该应用程序已经更改了注册ID,所以我仍然收到两条推送消息。
我希望如果我也更新了该应用程序,则该应用程序可能会收到两个或多个重复的应用程序,因为如文档所述,注册ID可能会在更新时更改。
我可以采取任何解决方法来处理这些重复的消息?
最佳答案
从官方文档中:
但是,很显然,您仍然会收到旧注册ID的通知,因为用户在其他问题中表示:
对于此问题,有一个称为“规范ID”的功能: