Kimlik Bilgisi Yöneticisi'nin Kimlik Bilgilerini Geri Yükleme özelliği, kullanıcıların yeni bir cihaz kurarken uygulama hesaplarını geri yüklemelerine olanak tanır. Bu API, geliştirici önizlemesindedir ve Android 9 veya sonraki sürümlerin yanı sıra Google Play Hizmetleri (GMS) Core 242200000 veya sonraki sürümlerin yüklü olduğu 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).
- Geri Yükleme Kimlik Bilgilerini Alın: Kullanıcı yeni bir cihaz kurarken uygulamanız, Kimlik Bilgileri Yöneticisi'nden Geri Yükleme Kimlik Bilgileri'ni isteyebilir. 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 Bilgisi'ni 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ü) temel 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, Kimlik Bilgileri Yöneticisi Jetpack kitaplığı üzerinden kullanılabilir. 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 geri yükleme kimlik bilgisi, bir webauthn kimlik bilgisi türüdür ve geri yükleme anahtarı olarak 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şlevinde gerçekleştirin. Bu sayede, uygulama verileri geri yüklendikten hemen sonra uygulamanın kimlik bilgilerinin de geri yüklenmesi sağlanır.