Kimlik bilgilerini geri yükle

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.

  1. 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).
  2. 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.
  3. 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.

Kimlik Bilgisi Yöneticisi alt sayfası
Şekil 1. Kimlik bilgisi oluşturma, geri yükleme akışı başlatma ve otomatik kullanıcı oturum açma işlemi dahil olmak üzere geri yükleme kimlik bilgilerini kullanarak uygulama verilerini yeni bir cihaza geri yüklemeyi gösteren şema

Uygulama

Restore Credentials API, Credential Manager Jetpack kitaplığından ulaşabilirsiniz. Başlamak için şu adımları uygulayın:

  1. Projenize Kimlik Bilgisi Yöneticisi bağımlılığını ekleyin.

    // build.gradle.kts
    implementation("androidx.credentials:credentials:1.5.0-alpha03")
    
  2. Bir CreateRestoreCredentialRequest nesnesi oluşturun.

  3. CredentialManager nesnesinde createCredential() 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.

  4. Kullanıcı yeni bir cihaz kurarken CredentialManager nesnesinde getCredential() 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)
    
  5. Kullanıcı uygulamanızdan çıktığında CredentialManager nesnesinde clearCredentialState() 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.