清除应用程序数据时实例 ID 不会失效
Instance ID not invalidated when clear application data
我已经使用 Instance ID API
实现了 GCM 3.0
,以便使用 Application
和 GCM
服务器向应用程序发送推送通知。
这是我所指的 Instance ID API for GCM 文档。
当用户在没有注销的情况下直接卸载应用程序时,GCM
为卸载了应用程序的设备提供 "Not Registered"
错误。
我要做的是从 Application server
中删除无用的 Device id tokens
因为我已经尝试卸载应用程序然后 Instance ID
被更改但是当应用程序数据被用户清除时那么 new Instance ID
将与 previous Instance ID
.
相同
而 Android GCM
文档说:
Instance ID is stable but may become invalid, if:
- App deletes Instance ID
- Device is factory reset
- User uninstalls the app
- User clears app data
这有什么特别的原因吗?
正如Google所说,"Instance ID MAY become invalid if ..."。
这是我在使用 GCM 时的发现,
- 在大多数情况下,当您调用 getToken() 时,清除应用程序不会更改实例 ID。
- 所有消息和主题消息都将被传送和显示,尽管应用已被清除并且您没有再次打开(没有调用 getToken())。
我已经使用 Instance ID API
实现了 GCM 3.0
,以便使用 Application
和 GCM
服务器向应用程序发送推送通知。
这是我所指的 Instance ID API for GCM 文档。
当用户在没有注销的情况下直接卸载应用程序时,GCM
为卸载了应用程序的设备提供 "Not Registered"
错误。
我要做的是从 Application server
中删除无用的 Device id tokens
因为我已经尝试卸载应用程序然后 Instance ID
被更改但是当应用程序数据被用户清除时那么 new Instance ID
将与 previous Instance ID
.
而 Android GCM
文档说:
Instance ID is stable but may become invalid, if:
- App deletes Instance ID
- Device is factory reset
- User uninstalls the app
- User clears app data
这有什么特别的原因吗?
正如Google所说,"Instance ID MAY become invalid if ..."。
这是我在使用 GCM 时的发现,
- 在大多数情况下,当您调用 getToken() 时,清除应用程序不会更改实例 ID。
- 所有消息和主题消息都将被传送和显示,尽管应用已被清除并且您没有再次打开(没有调用 getToken())。