FirebaseInstaceId,InstanceIdResult已弃用

由于FirebaseInstanceId和InstanceIdResult已弃用,如何更改此代码?它还声明"无法从代码中解析方法getToken()"。

FirebaseInstanceId.getInstance().getId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
        @Override
        public void onSuccess(InstanceIdResult instanceIdResult) {
            String token = instanceIdResult.getToken();
            if (!token.equals(session.getData(Session.KEY_FCM_ID))) {
                UpdateToken(token, MainActivity.this);
            }
        }
    });

解决方案

您不应该这样获取令牌。所有这些方法都已弃用。现在的解决方案是:

FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
    @Override
    public void onComplete(@NonNull Task<String> task) {
        if (task.isSuccessful()) {
            String token = task.getResult();
            //Do what you need to do with your token
            Log.d(TAG, token);
        }
    }
});

相关文章