Fitur Pulihkan Kredensial Pengelola Kredensial memungkinkan pengguna memulihkan akun aplikasi mereka saat menyiapkan perangkat baru. API ini dalam pratinjau developer dan tersedia di semua perangkat yang memiliki Android 9 atau yang lebih tinggi dan Layanan Google Play (GMS) Core versi 242200000 atau yang lebih tinggi. Manfaat Restore Credentials fitur mencakup:
- Pengalaman pengguna yang lancar: Pengguna dapat memulihkan akun aplikasi mereka tanpa perlu login secara manual ke setiap aplikasi.
- Peningkatan engagement pengguna: Pengguna lebih cenderung untuk terus menggunakan jika mereka dapat memulihkan akun saat menyiapkan perangkat baru.
- Mengurangi upaya pengembangan: fitur Pulihkan Kredensial terintegrasi dengan Pengelola Kredensial, sehingga developer yang sudah mendukung kunci sandi dapat menambahkan kemampuan pemulihan kredensial.
Cara kerjanya
Anda dapat menggunakan Pulihkan Kredensial untuk membuat, mendapatkan, dan menghapus kredensial yang relevan.
- Buat Kredensial Pemulihan: Saat pengguna login ke aplikasi Anda, buat Kredensial Pemulihan yang terkait dengan akunnya. Kredensial ini disimpan secara lokal dan disinkronkan ke cloud jika pengguna telah mengaktifkan Pencadangan Google dan enkripsi end-to-end tersedia (aplikasi dapat memilih untuk tidak menyinkronkan ke cloud)
- Dapatkan Kredensial Pemulihan: Saat pengguna menyiapkan perangkat baru, aplikasi Anda dapat meminta Restore Credential dari Pengelola Kredensial. Hal ini memungkinkan Anda membuat pengguna login secara otomatis tanpa memerlukan input tambahan.
- Hapus Kredensial Pemulihan: Saat pengguna logout dari aplikasi, Anda akan menghapus Kredensial Pemulihan terkait.
Fitur Pulihkan Kredensial dapat terintegrasi secara lancar dengan sistem backend yang telah mengimplementasikan kunci sandi. Kompatibilitas ini berasal dari fakta kunci sandi dan memulihkan kunci (jenis kredensial yang digunakan oleh fitur Pulihkan Kredensial) mematuhi persyaratan teknis dasar yang sama spesifikasi produk. Penyelarasan ini memastikan bahwa proses {i>Restore Credentials<i} dapat secara efektif mengambil dan mengaktifkan kembali kredensial pengguna yang disimpan di perangkat yang mengaktifkan kunci sandi sistem, memberikan pengalaman yang konsisten dan ramah pengguna di berbagai platform dan metode otentikasi.
Implementasi
Restore Credentials API tersedia melalui Jetpack Pengelola Kredensial library. Untuk memulai, ikuti langkah-langkah ini:
Tambahkan dependensi Pengelola Kredensial ke project Anda.
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
Buat objek
CreateRestoreCredentialRequest
.Panggil metode
createCredential()
pada objekCredentialManager
.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)
Kredensial pemulihan yang dihasilkan ini adalah jenis kunci sandi, dan juga diketahui sebagai kunci sandi pemulihan atau kunci pemulihan.
Saat pengguna menyiapkan perangkat baru, panggil metode
getCredential()
di ObjekCredentialManager
.// 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)
Saat pengguna logout dari aplikasi, panggil
clearCredentialState()
pada objekCredentialManager
.// Create a ClearCredentialStateRequest object val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL) // On user log-out, clear the restore key val response = credentialManager.clearCredentialState(clearRequest)
Jika Anda menggunakan agen pencadangan, lakukan bagian getCredential
dalam
Callback onRestore
. Hal ini memastikan kredensial aplikasi dipulihkan
segera setelah data aplikasi dipulihkan.