首页 > 解决方案 > 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);
            }
        }
    });

标签: javafirebasegoogle-cloud-platformfirebase-cloud-messaging

解决方案


这不是你应该如何获得令牌。所有这些方法都已弃用。目前,解决方案是:

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);
        }
    }
});

推荐阅读