FirebaseInstanceId.getInstance().getToken()已经过时。

13 浏览
0 Comments

FirebaseInstanceId.getInstance().getToken()已经过时。

此问题已经在这里有答案了

FirebaseInstanceIdService已被弃用

我可以问一个问题吗,我可以使用“if”来使用FirebaseInstanceId吗?我尝试制作注册账户页面,但是没有反应或显示,并且我收到一个错误信息:

import android.support.annotation.NonNull;
mAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener(){
@Override
public void onComplete(@NonNull Task task){
        if(task.isSuccessful()){
           // these lines for taking DEVICE TOKEN for sending device to device notification
           String userUID=mAuth.getCurrentUser().getUid();
           String userDeiceToken=FirebaseInstanceId.getInstance().getToken();
           userDatabaseReference.child(userUID).child("device_token").setValue(userDeiceToken)
        .             addOnSuccessListener(new OnSuccessListener(){
                @Override
                public void onSuccess(Void aVoid){
                    checkVerifiedEmail();
                }
            });
        }

admin 更改状态以发布 2023年5月21日
0
0 Comments

根据文档,方法 getToken() 已过期,这意味着它将在下一个版本中被移除。\n文档说明应该使用另一种方法来接收令牌——getInstanceId()。\n更多信息请参阅链接:\nhttps://firebase.google.com/docs/reference/android/com/google/firebase/iid/FirebaseInstanceId.html#getToken()

0
0 Comments

FirebaseInstanceId的getToken()方法已被弃用。

根据文档

此方法已被弃用,改用getInstanceId()。

由于这个改变,有一些事情你需要注意:

  1. 你不需要使用FirebaseInstanceIdService来接收token,而应该使用FirebaseMessagingService
  2. FirebaseMessagingService中覆盖onNewToken()
  3. 更新token的访问方式

下方的代码应该解决你的问题:

public class MyFirebaseMessagingService extends FirebaseMessagingService {    
    @Override
    public void onNewToken(String token) {
        super.onNewToken(token);
        Log.d("TOKEN", token);
    }
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.d(TAG, "From: " + remoteMessage.getFrom());
    }
}

如果你需要检索token,可以使用以下方法:

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, 
new OnSuccessListener() {
    @Override
    public void onSuccess(InstanceIdResult instanceIdResult) {
        String newToken = instanceIdResult.getToken();
        Log.d("newToken", newToken);
    }
});

本篇文章的示例代码参考自这篇文章

0