Untuk mengintegrasikan Smart Lock untuk Sandi ke dalam aplikasi Android Anda, Anda harus menambahkan panggilan ke Credentials API ke alur masuk dan permulaan aplikasi Anda. Diagram berikut menunjukkan aliran aplikasi Android umum yang menggunakan Smart Lock untuk Sandi.
Meskipun ada banyak cara agar berhasil mengintegrasikan Smart Lock untuk Kata Sandi, dan spesifikasi integrasi bergantung pada struktur dan pengalaman pengguna aplikasi, alur berikut direkomendasikan untuk sebagian besar aplikasi. Aplikasi yang menggunakan alur ini memiliki keuntungan pengalaman pengguna berikut:
- Pengguna layanan Anda yang sudah ada yang memiliki satu kredensial disimpan akan segera masuk, dan mereka akan langsung masuk ke tampilan masuk ketika mereka membuka aplikasi.
- Pengguna yang memiliki beberapa kredensial yang disimpan atau yang telah menonaktifkan masuk otomatis perlu menanggapi hanya satu dialog sebelum mereka masuk ke tampilan masuk aplikasi.
- Pengguna yang tidak memiliki kredensial yang disimpan atau belum mendaftar dapat memilih nama dan email mereka dengan satu ketukan dan secara cerdas dikirim ke tampilan masuk atau daftar, dengan informasi ini telah diisi sebelumnya.
- Saat pengguna keluar, aplikasi memastikan mereka tidak masuk kembali secara otomatis.
Ambil kredensial
- Saat aplikasi dimulai, jika tidak ada pengguna yang masuk, panggil
CredentialsClient.request()
. - Jika
Task
berhasil, dapatkan kredensial pengguna dengangetResult().getCredential()
dan gunakan mereka untuk masuk. - Jika
Task
gagal dan pengecualiannya adalah instanceResolvableApiException
dangetStatusCode()
mengembalikanRESOLUTION_REQUIRED
, masukan pengguna diperlukan untuk memilih kredensial. PanggilstartResolutionForResult()
untuk meminta pengguna memilih akun yang disimpan, lalu panggilgetParcelableExtra(Credential.EXTRA_KEY)
untuk mendapatkan kredensial pengguna dan menggunakannya untuk masuk.
Simpan kredensial
Jika
Task
gagal denganApiException
dangetStatusCode()
mengembalikanSIGN_IN_REQUIRED
, pengguna tidak memiliki kredensial yang disimpan dan harus masuk atau mendaftar secara manual menggunakan alur masuk atau pendaftaran Anda saat ini. Setelah pengguna berhasil menyelesaikan masuk, Anda dapat memberikan kesempatan kepada pengguna untuk menyimpan kredensial mereka untuk pengambilan di masa mendatang (langkah 5).Anda dapat membantu pengguna masuk atau mendaftar lebih cepat dan lebih mudah dengan mengambil petunjuk masuk, seperti alamat email pengguna. Pengguna dapat memilih petunjuk dan melewati mengetik kredensial mereka. Jika aplikasi Anda mengharuskan pengguna untuk masuk, Anda dapat memilih untuk mengambil petunjuk segera setelah permintaan kredensial awal gagal (jika tidak, Anda dapat menunggu hingga pengguna memulai alur masuk atau pendaftaran).
- Panggil
CredentialsClient.getHintPickerIntent()
dan mulai maksud untuk meminta pengguna memilih akun, lalu panggilgetParcelableExtra(Credential.EXTRA_KEY)
untuk mendapatkan petunjuk masuk. - Jika ID pengguna petunjuk cocok dengan pengguna yang sudah ada, isi formulir masuk dengannya dan biarkan pengguna memasukkan kata sandi untuk masuk.
- Jika ID pengguna petunjuk tidak cocok dengan pengguna yang sudah ada, isi formulir pendaftaran dengan ID dan nama pengguna, dan biarkan pengguna membuat akun baru.
- Panggil
Setelah pengguna berhasil masuk atau membuat akun, simpan ID pengguna dan kata sandi dengan
CredentialsClient.save()
.Jika pengguna login dengan penyedia identitas federasi seperti Login dengan Google, buat objek
Credential
dengan alamat email pengguna sebagai ID dan tentukan penyedia identitas dengansetAccountType
.
Keluar
- Saat pengguna keluar, panggil
CredentialsClient.disableAutoSignIn()
untuk mencegah pengguna agar tidak segera masuk kembali. Menonaktifkan masuk otomatis juga memungkinkan pengguna untuk beralih antar akun dengan mudah — misalnya, antara akun kantor dan pribadi, atau antar akun di perangkat bersama — tanpa harus memasukkan kembali informasi masuk mereka.
Siap mengintegrasikan Smart Lock untuk Kata Sandi ke dalam aplikasi Anda? Mulailah .