Firebase getToken() 在单个设备上突然返回 null



我有一个使用Firebase的应用程序 - 我用它来发送通知和触发事件。该应用程序目前在大约 100 台设备上运行没有任何问题。就在最近,当我打电话给getToken()并且应用程序变得无用时,一台设备总是null。这是唯一受影响的应用程序,并且都是突然开始的 - 它一周前才开始工作。代码逻辑似乎很好,因为它在所有其他设备上都可以工作。尝试了FirebaseInstanceId.getInstance().getToken();FirebaseInstanceId.getInstance().getToken(getString(R.string.gcm_defaultSenderId),null);都没有成功。应用程序已重新安装,设备已恢复出厂设置。

问题是该设备不在我身边 - 它位于远程位置,所以我看不到日志中的内容。根据用户的说法,没有任何变化。

只是标准实现,在 100 台设备上工作:

public class FirebaseInstanceIDService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        // Get updated InstanceID token.
        String refreshedToken = null;
        try {
            refreshedToken = FirebaseInstanceId.getInstance().getToken(getString(R.string.gcm_defaultSenderId),null);
            Log.d(TAG, "Token: " + refreshedToken);
        } catch (IOException e) {
            Log.d(TAG, "Token Err: " + e.toString());
            e.printStackTrace();
        }
        sendRegistrationToServer(refreshedToken);
    }
    private void sendRegistrationToServer(String refreshedToken) {
        //Do something with Token
    }
}

知道问题可能是什么吗?

尝试像这样使用:

String refreshedToken = FirebaseInstanceId.getInstance().getToken();

还要检查清单文件中是否有此内容:

  <!-- FIREBASE SERVICES -->
    <service android:name=".services.firebase.AppFirebaseInstanceIdService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>

这是在自定义应用程序类上注册

的清单:
FirebaseApp.initializeApp(this);

这在我的项目中工作正常。

相关内容

  • 没有找到相关文章

最新更新