【问题标题】:Get new token firebase (FCM) for push notification获取推送通知的新令牌火力库 (FCM)
【发布时间】:2018-05-02 04:16:27
【问题描述】:

我正在构建一个具有推送通知的应用程序。我希望,当用户使用不同的帐户登录时,我会将新的 Firebase 令牌注册到服务器。但经过几个小时的研究,Firebase 似乎只在应用卸载时生成新令牌。

所以我的问题是,每次用户使用新帐户(在同一设备中)登录时,是否可以获得新的 firebase 令牌?提前致谢!

【问题讨论】:

  • 无法强制 Firebase 生成新令牌。相反,您应该只从以前的用户注销当前令牌,并将其注册给新用户。

标签: android push-notification


【解决方案1】:

来自Firebase文档

注册令牌可能会在以下情况下发生变化:

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

获取当前注册令牌

当您需要检索当前令牌时,请致电FirebaseInstanceId.getInstance().getToken()。如果令牌尚未生成,则此方法返回 null。

 String myRefreshedToken = FirebaseInstanceId.getInstance().getToken();
 Log.d( "myRefreshedToken" , myRefreshedToken);

【讨论】:

  • 如果应用程序已经发布,那么在下一个版本中我们添加了 fcm。就我而言,第一次安装工作正常,但升级时失败。 onNewToken 从未触发过。我们如何直接调用这个方法?
【解决方案2】:

注册令牌可能会在以下情况下发生变化:

1) 应用删除Instance ID

2) 应用在新设备上恢复

3) 用户卸载/重新安装应用程序

4) 用户清除应用数据。

在可以生成新令牌时查看此official documents 链接以获取更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2012-02-06
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    相关资源
    最近更新 更多