【问题标题】:Token not generated with FirebaseInstanceIdService未使用 FirebaseInstanceIdService 生成令牌
【发布时间】:2020-01-23 00:23:34
【问题描述】:

我尝试更新我的应用程序,但是当应用程序应该生成令牌时我显示错误。我的应用显示未生成令牌。

我的 firebase 代码如下:

import android.util.Log;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {

    private static final String TAG = "MyFirebaseIIDService";

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

    private void storeToken(String token) {
        //saving the token on shared preferences
        SharedPreference.getInstance(getApplicationContext()).saveDeviceToken(token);
    }
}

我最近迁移到 AndroidX,我不知道我的代码会发生什么

我尝试了这个,但不起作用,我没有生成令牌

import android.util.Log;

import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.messaging.FirebaseMessagingService;

public class MyFirebaseInstanceIDService extends FirebaseMessagingService {

    private static final String TAG = "MyFirebaseIIDService";




    @Override
    public void onNewToken(String token) {
        super.onNewToken(token);
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);
        storeToken(refreshedToken);
    }

    private void storeToken(String token) {
        //saving the token on shared preferences
        SharedPreference.getInstance(getApplicationContext()).saveDeviceToken(token);
    }
}

【问题讨论】:

  • 如果是,您是否在清单中定义了它,然后尝试使用助手将其与 firebase 重新连接或检查服务是否正在启动。发布您遇到的错误
  • 不需要这样做 String refreshedToken = FirebaseInstanceId.getInstance().getToken();方法中自动生成token

标签: java android firebase firebase-cloud-messaging


【解决方案1】:

请看这个

public class MyFirebaseInstanceIDService extends FirebaseMessagingService {

    private static final String TAG = "MyFirebaseIIDService";

    @Override
    public void onNewToken(String token) { // this is the "token"
        super.onNewToken(token); 
        storeToken(token);
    }

    private void storeToken(String token) {
        //saving the token on shared preferences
        SharedPreference.getInstance(getApplicationContext()).saveDeviceToken(token);
    }
}

请试试这个代码。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2019-04-08
    • 2021-08-22
    • 2018-09-16
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多