Firebase令牌刷新

时间:2016-06-15 06:36:33

标签: android firebase google-cloud-messaging token

Firebase文档明确指出应该实现FirebaseInstanceIdService来访问刷新的令牌,并且不再需要手动注册,因为库会关注所有进程。

问题是onTokenRefresh只被调用一次,如果在将其传输到我的服务器的过程中出现问题,应用程序必须等到下次刷新或完全卸载/重新安装。

我可以应用与之前的GCM实现相同的逻辑吗?也就是说,在我的应用程序的每次启动时,我都使用FirebaseInstanceId.getInstance().getToken()访问令牌并将其发送到我的服务器,而不是关心它是否已经发送过。同样的事情在onTokenRefresh完成。

这种方法有任何缺陷吗?

2 个答案:

答案 0 :(得分:12)

此外,您似乎可以从服务外部调用此功能

FirebaseInstanceId.getInstance().getToken();

答案 1 :(得分:3)

我建议您第一次将TOKEN存储在本地(可能是共享的pref)和

  

制作一个标志,将其初始化为假

然后尝试将TOKEN发送到您的服务器,它成功发送转标志ti为真,无需再次发送。