FirebaseInstanceIdService 已弃用

新手上路,请多包涵

希望大家都知道这个类,用于在firebase通知令牌刷新时获取通知令牌,我们从这个类中获取刷新的令牌,通过以下方法。

 @Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);
}

为了使用它来实现 FCM,我从 FirebaseInstanceIdService 扩展了 MyClass

但是,表明 FirebaseInstanceIdService 已被弃用

有人知道吗?,我应该使用什么方法或类来代替这个来获得刷新的令牌,因为它已被弃用。

我正在使用: implementation 'com.google.firebase:firebase-messaging:17.1.0'

我检查了文件是否相同,没有提到这一点。 : FCM 设置文件


更新

这个问题已被解决。

由于 Google 弃用了 FirebaseInstanceService

我问了这个问题以找到方法,我知道我们可以从 FirebaseMessagingService 获取令牌,

和以前一样,当我问问题文档未更新但现在 Google 文档已更新时,请参阅此 google 文档: FirebaseMessagingService

旧来自:FirebaseInstanceService(已弃用)

 @Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);
}

新来自:FirebaseMessagingService

 @Override
public void onNewToken(String s) {
    super.onNewToken(s);
    Log.d("NEW_TOKEN",s);
}

原文由 Uttam Panchasara 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

火力基地在这里

检查 FirebaseInstanceIdService 的参考文档

这个类已被弃用。

赞成在 onNewToken FirebaseMessagingService 。实施后,可以安全地删除此服务。

奇怪的是 FirebaseMessagingService 的 JavaDoc 还没有提到 onNewToken 方法。似乎尚未发布所有更新的文档。我已经提交了一个内部问题,以获取发布的参考文档的更新,并更新指南中的示例。

与此同时,旧的/不推荐使用的调用和新的调用都应该工作。如果您遇到任何问题,请发布代码,我会看看。

原文由 Frank van Puffelen 发布,翻译遵循 CC BY-SA 4.0 许可协议

新方式

FirebaseMessaging.getInstance().getToken().addOnCompleteListener(task -> Log.e(TAG, "Token: "+task.getResult()));

原文由 Sujith S Manjavana 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题