Kimlik Bilgisi Yöneticisi'nin Kimlik Bilgilerini Geri Yükle özelliği, kullanıcıların yeni bir cihaz kurarken uygulama hesaplarını geri yüklemelerine olanak tanır. Bu API, geliştirici önizlemesinde olup Android 9 veya sonraki sürümleri ile Google Play Hizmetleri (GMS) Core sürümü 242200000 veya sonraki sürümleri olan tüm cihazlarda kullanılabilir. Kimlik Bilgilerini Geri Yükleme özelliğinin avantajları şunlardır:
- Sorunsuz kullanıcı deneyimi: Kullanıcılar, her uygulamada manuel olarak oturum açmak zorunda kalmadan uygulama hesaplarını geri yükleyebilir.
- Kullanıcı etkileşimini artırma: Kullanıcılar yeni bir cihaz kurarken hesaplarını geri yükleyebiliyorsa uygulamanızı kullanmaya devam etme olasılıkları daha yüksektir.
- Azaltılmış geliştirme çalışması: Kimlik Bilgilerini Geri Yükleme özelliği, Kimlik Bilgisi Yöneticisi ile entegre olduğundan, şifre anahtarlarını zaten destekleyen geliştiriciler kimlik bilgisi geri yükleme özellikleri ekleyebilir.
İşleyiş şekli
İlgili kimlik bilgilerini oluşturmak, almak ve temizlemek için Kimlik Bilgilerini Geri Yükle'yi kullanabilirsiniz.
- Geri Yükleme Kimlik Bilgisi oluşturun: Kullanıcı uygulamanızda oturum açtığında, hesabıyla ilişkili bir Geri Yükleme Kimlik Bilgisi oluşturun. Bu kimlik bilgisi yerel olarak depolanır ve kullanıcı Google Yedekleme'yi etkinleştirdiyse ve uçtan uca şifreleme kullanılabiliyorsa bulutla senkronize edilir (uygulamalar bulutla senkronizasyonu devre dışı bırakabilir).
- Kimlik Bilgilerini Geri Yükleme: Kullanıcı yeni bir cihaz kurduğunda uygulamanız, Kimlik Bilgisi Yöneticisi'nden Kimlik Bilgilerini Geri Yükleme isteğinde bulunabilir. Bu sayede, herhangi bir ek giriş yapmadan kullanıcıyı otomatik olarak oturum açtırabilirsiniz.
- Yedek Kimlik Bilgisini Temizleyin: Kullanıcı uygulamanızdan çıkış yaptığında ilişkili Yedek Kimlik Bilgisini silmeniz gerekir.
Kimlik Bilgilerini Geri Yükleme özelliği, geçiş anahtarlarını zaten uygulamış arka uç sistemlerle sorunsuz bir şekilde entegre edilebilir. Bu uyumluluk, hem geçiş anahtarlarının hem de geri yükleme anahtarlarının (Kimlik Bilgilerini Geri Yükleme özelliği tarafından kullanılan kimlik bilgisi türü) temelde aynı teknik spesifikasyonlara uymasından kaynaklanır. Bu uyumluluk, kimlik bilgilerini geri yükleme sürecinin geçiş anahtarı özellikli sistemlerde depolanan kullanıcı kimlik bilgilerini etkili bir şekilde almasını ve yeniden etkinleştirmesini sağlar. Böylece farklı platformlar ve kimlik doğrulama yöntemleri arasında tutarlı ve kullanıcı dostu bir deneyim sunulur.
Uygulama
Restore Credentials API, Credential Manager Jetpack kitaplığından ulaşabilirsiniz. Başlamak için şu adımları uygulayın:
Projenize Kimlik Bilgisi Yöneticisi bağımlılığını ekleyin.
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
Bir
CreateRestoreCredentialRequest
nesnesi oluşturun.CredentialManager
nesnesindecreateCredential()
yöntemini çağırın.val credentialManager = CredentialManager.create(context) // On a successful authentication create a Restore Key // Pass in the context and CreateRestoreCredentialRequest object val response = credentialManager.createCredential(context, createRestoreRequest)
Oluşturulan bu kurtarma kimlik bilgisi, bir geçiş anahtarı türüdür ve kurtarma geçiş anahtarı veya kurtarma anahtarı olarak da bilinir.
Kullanıcı yeni bir cihaz kurarken
CredentialManager
nesnesindegetCredential()
yöntemini çağırın.// Fetch the Authentication JSON from server val authenticationJson = ... // Create the GetRestoreCredentialRequest object val options = GetRestoreCredentialOption(authenticationJson) val getRequest = GetCredentialRequest(Immutablelist.of(options)) // The restore key can be fetched in two scenarios to // 1. On the first launch of app on the device, fetch the Restore Key // 2. In the onRestore callback (if the app implements the Backup Agent) val response = credentialManager.getCredential(context, getRequest)
Kullanıcı uygulamanızdan çıktığında
CredentialManager
nesnesindeclearCredentialState()
yöntemini çağırın.// Create a ClearCredentialStateRequest object val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL) // On user log-out, clear the restore key val response = credentialManager.clearCredentialState(clearRequest)
Yedek ajans kullanıyorsanız getCredential
bölümünü onRestore
geri çağırma içinde gerçekleştirin. Bu sayede, uygulama verileri geri yüklendikten hemen sonra uygulamanın kimlik bilgileri geri yüklenir.