Firebase不刷新令牌

时间:2017-02-12 19:16:20

标签: android firebase firebase-realtime-database firebase-authentication

我在Android应用程序中使用Google和Facebook登录。我发现this thread还谈到了在一段时间后失去与Firebase数据库的连接,并且这种情况一直发生。我运行了以下代码,以及"已完成的刷新令牌。"永远不会被打印出来。

Log.d(TAG, "Start token refresh.");
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); // mAuth is your current firebase auth instance
user.getToken(true).addOnCompleteListener(this, new OnCompleteListener<GetTokenResult>() {
    @Override
    public void onComplete(@NonNull Task<GetTokenResult> task) {
        Log.d(TAG, "Completed refresh token.");
        if (task.isSuccessful()) {
            Log.d(TAG, "token=" + task.getResult().getToken());
        } else {
            Log.e(TAG, "exception=" +task.getException().toString());
        }
    }
});

为了让它工作,我必须清除我的应用程序中的数据并重新登录,以便它能够在短时间内再次运行。当我只是退出帐户并重新登录时,它通常不起作用。 Haven没有尝试使用Facebook,但现在谷歌正在登录。

1 个答案:

答案 0 :(得分:-1)

您是否查看了Firebase文档?

注册令牌可能会在以下情况下发生变化:

  • 该应用删除实例ID
  • 该应用已在新设备上恢复
  • 用户卸载/重新安装应用
  • 用户清除应用数据。