android - Firebase 不刷新 token

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

我在我的 Android 应用程序中使用 Google 和 Facebook 登录。我找到了 this thread还谈到一段时间后失去与 Firebase 数据库的连接,这种情况经常发生。我运行了下面的代码,以及“完成的刷新 token ”。永远不会打印出来。

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

要使其正常工作,我必须清除我的应用程序中的数据并重新登录,以便它在短时间内再次运行。当我简单地注销帐户并重新登录时,它通常不起作用。尚未尝试使用 Facebook,但现在使用 Google 登录时会发生这种情况。

最佳答案

你查了吗Firebase文档?

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

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

关于android - Firebase 不刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42192045/

相关文章:

javascript - Firebase REST API POST(推送)子项目以及顶级项目的唯一ID

swift - 仅过滤距离数据库最近的位置

android - 将当前年份插入 TextView

android如何创建自己的Activity并扩展它?

android - 如何检查线程已完成并显示 Toast

java - 如何从所选项目微调器获取值(Android Studio 到 Firebase)

java - 具有抽象基类的 Android Activity 引发编译错误 "is not abstract and does not overrid abstract method..."

angular - 将 firestore 查询与 rxjs 结合(或查询)

android - 如何为使用电话身份验证进行身份验证的用户添加电子邮件地址

javascript - 如何使用 Cloud Function .onWrite (Firebase) 从其他数据库 Node 获取变量