希望大家都知道这个类,每当firebase通知令牌被刷新时,我们都会使用下面的方法从这个类中获取刷新的令牌.

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

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

但是,显示FirebaseInstanceIdService is deprecated

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

我用的是:implementation 'com.google.firebase:firebase-messaging:17.1.0'

我判断了文件,没有提到这一点FCM SETUP DOCUMENT


UPDATE

This issue has been Fixed.

随着谷歌对FirebaseInstanceService的反对,

我问了个问题go 找路,我知道我们可以从FirebaseMessagingService美元中拿到 token ,

和以前一样,当我问这个问题时,文档没有更新,但现在谷歌文档更新了,所以要了解更多信息,请参考这个谷歌文档:FirebaseMessagingService

OLD From : FirebaseInstanceService (Deprecated)

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

NEW From : FirebaseMessagingService

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

谢谢

推荐答案

firebaser here

判断reference documentation for FirebaseInstanceIdService:

这门课被弃用了.

赞成在FirebaseMessagingService中超过onNewToken.一旦实现了这一点,就可以安全地删除该服务.

奇怪的是,JavaDoc for FirebaseMessagingService还没有提到onNewToken方法.看起来还没有发布所有更新的文档.我已经提交了一份内部文件,以便发布参考文件的更新,并更新指南中的样本.

同时,旧的/不推荐的调用和新的调用都应该有效.如果你在这两个方面都有问题,请把代码发出来,我来看看.

Android相关问答推荐

Android和Rust,OpenSSL交叉编译在ARM V7上链接失败

Yarn 机器人导致活动未找到,但Gradlew Run工作正常

在模块中找到重复的类com.google.Firebase.auth.ktx.AuthKt||Android Studio

安卓喷气背包组成倒计时动画

我无法在底部导航栏中正确导航-Android底部导航视图

找不到com.android.tools.build:gradle:8.0

Kotlin - 在继续之前如何等待这个协程完成?

将输出写入已发布的 Android 应用程序中的日志(log)文件?

Android 不在后台更新位置

retrofit2.HttpException: HTTP 401

如何在 Jetpack Compose 中处理水平滚动手势和变换手势

如何在Android中使用嵌套的Recyclerview

如何用jetpack compose实现垂直李克特量表

在 Jetpack Compose 的无状态 Compose 中管理条件逻辑

组成不重叠的元素

在alert 对话框生成器中启动协程

IconButton 中可绘制的图标是黑色的,尽管它是白色的

jetpack compose 中的可点击指示是什么?

如何在 Kotlin 中使用反向绑定适配器将小写文本转换为大写?

错误:没有这样的属性:类的组:org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer