Я работаю над приложением для Android, которое проходит аутентификацию в Google. Приложение использует довольно стандартный Google вход в поток:
if (GoogleSignIn.getLastSignedInAccount(this) == null) {
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(getString(R.string.default_web_client_id))
.build()
val client = GoogleSignIn.getClient(this, gso)
startActivityForResult(client.signInIntent, SIGN_IN_REQUEST_CODE)
}
Это все отлично работает.
Теперь я понимаю, что после успешного входа учетная запись Google кэшируется в SharedPreferences
, поэтому при запуске приложения в автономном режиме getLastSignedInAccount
по-прежнему возвращает последнюю учетную запись.
Мне интересно узнать, как долго кэшируется информация об учетной записи? Я ничего не мог найти в документах.
Нам нужно, чтобы наше приложение работало в некоторых довольно отдаленных местах в Африке, где оно могло бы работать неделями без доступа к Интернету. Я бы не хотел, чтобы приложение стало непригодным для использования, поскольку срок действия кэшированной учетной записи истек, и нет доступа в Интернет для ее обновления.