繁体   English   中英

FirebaseInstanceIdService onTokenRefresh()仅在应用程序运行时调用吗?

[英]Is FirebaseInstanceIdService onTokenRefresh() only called when the app is running?

就像标题所暗示的那样,如果我有一个注册了FCM通知的Android应用程序并且应用程序处于后台或者暂时没有启动并且令牌发生变化, onTokenRefresh()何时被调用?

它是否会唤醒应用程序以调用onTokenRefresh()还是会在下次启动应用程序时调用它?

谢谢

触发onTokenRefresh()时的事件已包含在FirebaseInstanceIdService文档中

当系统确定需要刷新令牌时调用。 应用程序应调用getToken()并将令牌发送到所有应用程序服务器。

这不会被频繁调用,它需要进行密钥轮换并处理实例ID更改,原因如下:

  • 应用程序删除实例ID
  • 应用程序在新设备上恢复
  • 用户卸载/重新安装应用程序
  • 用户清除应用数据

系统将限制所有设备上的刷新事件,以避免使用令牌更新使应用程序服务器过载。

同样如上所述,FirebaseInstanceIdService类扩展了Service类,无论应用程序是在前台还是后台,都可以运行。

这是onTokenRefresh()将被调用的内容。

  1. 该应用已安装。
  2. 令牌受到损害。
  3. 令牌已更改。

因此,简而言之,无论您的应用是在前景还是后台, onTokenRefresh()方法都会触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM