2

Я использую логины Google и Facebook в своем приложении для Android. Я обнаружил, что this thread также говорит о потере соединения с базой данных Firebase через некоторое время, и это происходит последовательно. Я выполнил приведенный ниже код и «Завершенный токен обновления». никогда не печатается.Firebase Not Refreshing 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 Sign-in прямо сейчас.

ответ

-1

Вы проверили документацию Firebase?

Маркер регистрации может измениться, когда:

  • приложение удаляет идентификатор экземпляра
  • приложение восстанавливается на новом устройстве
  • Пользователь удаляемого/переустановить приложение
  • пользователь удаляет приложение данные.
+0

Это единственный способ обновить токен. Приложение не обновляет его самостоятельно. Я говорил, что мне нужно очистить данные приложения и снова войти в систему, чтобы обновить его. – DatatheGenius

+0

Вы хотите обновлять токен каждый раз, когда вы входите в систему? Или что? –

+1

База данных перестает обновляться через некоторое время, и, похоже, она подключается к аутентификации. Я просто хочу, чтобы он работал сам по себе, вышеприведенный код, который я добавил, был тестом, показывающим, что он ничего не получает, когда ему говорят, чтобы получить. – DatatheGenius