Memecahkan masalah error Pengelola Kredensial umum

Panduan ini mencantumkan kode dan deskripsi error umum yang terkait dengan Credential Manager, serta memberikan beberapa informasi tentang penyebabnya.

Kode dan deskripsi error Penyebab

android.os.TransactionTooLargeException

Hal ini disebabkan oleh masalah umum saat API credentialManager.getCredential() di Android 14 dan yang lebih tinggi gagal menampilkan dialog login jika ada beberapa Akun Google di perangkat. Masalah ini secara khusus terlihat pada GetGoogleIdOption dan bukan GetSignInWithGoogleOption. Masalah ini telah diperbaiki di layanan Google Play versi 24.40.XX dan yang lebih baru.

CreateCredentialCancellationException

Pendaftaran atau pengambilan kunci sandi dibatalkan oleh pengguna.

Pengguna telah memilih untuk tidak membuat atau menggunakan kredensial. Sekarang Anda dapat menyesuaikan UI untuk menawarkan metode login alternatif atau melanjutkan ke langkah berikutnya dalam proses Anda.

GetCredentialCancellationException

Proses pengambilan kredensial dihentikan karena otorisasi pengguna yang diperlukan tidak diperoleh. Meskipun paling sering terjadi saat pengguna membatalkan alur login secara manual, hal ini juga dapat menandakan bahwa permintaan tidak diotorisasi karena batasan teknis. Karena error ini menunjukkan kurangnya izin, jangan coba lagi permintaan secara otomatis, karena hal ini akan menciptakan pengalaman pengguna yang mengganggu. Namun, developer harus memantau frekuensi pengecualian ini. Volume "pembatalan" yang tinggi sebenarnya dapat menunjukkan kesalahan konfigurasi—seperti cakupan yang tidak ada atau salah—yang mencegah UI otorisasi berhasil diselesaikan. Jika Anda melihat tren yang tidak terduga, tinjau parameter permintaan dan konfigurasi [pihak tepercaya][2] Anda.

Catatan: Pesan error dapat berbeda berdasarkan jenis kredensial:

  • Untuk kunci sandi, pesan errornya dapat berupa "Pendaftaran atau pengambilan kunci sandi dibatalkan oleh pengguna".
  • Untuk Login dengan Google, pesan errornya dapat berupa "Aktivitas dibatalkan oleh pengguna".

CreateCredentialCustomException atau GetCredentialCustomException

Saat menggunakan SDK pihak ketiga untuk melakukan panggilan API dengan objek permintaan yang membuat subkelas CreateCustomCredentialRequest atau GetCustomCredentialOption, Anda mungkin mengalami error. Jika hal ini terjadi, periksa SDK untuk konstanta jenis pengecualian kustom yang cocok dengan e.type. Jika tidak ditemukan kecocokan, Anda dapat menghapus atau mencatat pengecualian dengan aman.

CreateCredentialInterruptedException atau GetCredentialInterruptedException

Operasi mungkin terganggu karena pengguna membuka setelan untuk mengonfigurasi ulang pengelola sandi. Alasan lain juga dapat menyebabkan gangguan ini. Coba lakukan panggilan lagi.

CreateCredentialUnknownException

Selama proses penyimpanan sandi, ditemukan respons kegagalan sandi dari sekali ketuk 16: [28431] Melewatkan penyimpanan sandi karena pengguna kemungkinan diminta menggunakan fitur Isi Otomatis Android.

Error ini hanya memengaruhi Android 13 dan versi yang lebih lama saat Google adalah penyedia Isi Otomatis yang ditetapkan. Dalam kasus tersebut, pengguna akan menerima perintah simpan dari Isi Otomatis, dan sandi akan disimpan di Pengelola Sandi Google. Yang penting, kredensial yang disimpan menggunakan Isi Otomatis dengan Google disinkronkan secara dua arah dengan Credential Manager API. Oleh karena itu, error ini dapat diabaikan dengan aman.

CreatePublicKeyCredentialDomException & GetPublicKeyCredentialDomException

Kemungkinan pengecualian DOM berisi domError yang lebih spesifik. Anda dapat memetakannya ke DomException WebAuthn untuk mengetahui detail selengkapnya.

CreatePublicKeyCredentialDomException & GetPublicKeyCredentialDomException

Permintaan masuk tidak dapat divalidasi.

Server pengelola sandi tidak mengenali ID paket aplikasi. Hal ini menunjukkan potensi masalah pada integrasi sisi server Anda, khususnya penyiapan link aset digital. Periksa kembali akurasi ID paket dan SHA dalam file link aset Anda.

CreatePublicKeyCredentialDomException:

Tidak dapat membuat kunci selama pendaftaran

Masalah ini dapat muncul saat pengguna menutup dialog kunci layar selama pendaftaran.

CreateCredentialNoCreateOptionException

Pengecualian khusus ini menunjukkan bahwa pengguna tidak mengonfigurasi pengelola sandi yang valid. Error ini bukan alur pembatalan manual yang dimulai pengguna, tetapi kegagalan terpisah.

CreatePublicKeyDomException & GetPublicKeyCredentialDomException

Pendaftaran kunci sandi dibatalkan oleh pengguna.

Pengambilan kunci sandi dibatalkan oleh pengguna.

Masalah ini dapat muncul saat pengguna menutup dialog sidik jari selama pendaftaran / pengambilan kunci sandi.

GetCredentialProviderConfigurationException & CreateCredentialProviderConfigurationException

Tidak ada dependensi penyedia getCredentialAsync yang ditemukan

createCredentialAsync tidak menemukan dependensi penyedia

Dependensi androidx.credentials:credentials-play-services-auth:<latest-version> tidak ada.

GetCredentialUnsupportedException atau CreateCredentialUnsupportedException

Perangkat Anda tidak mendukung pengelola kredensial

Pastikan library kredensial Anda diupdate ke versi 1.2.1 atau yang lebih tinggi.

GetPublicKeyCredentialException

Gagal mendekripsi kredensial

Masalah ini terjadi saat mencoba menggunakan kunci sandi setelah logout dan login kembali ke Akun Google. Minta pengguna Anda untuk login kembali ke Akun Google mereka di perangkat mereka.

NoCreateOptionException

Pengecualian ini adalah perilaku yang diharapkan jika pengguna tidak menyiapkan kredensial kunci sandi di perangkatnya, atau jika mereka tidak mengonfigurasi pengelola sandi.

NoCredentialException

Tidak ditemukan kredensial yang cocok

Pengecualian ini disebabkan dalam situasi berikut:

  • setFilterByAuthorizedAccounts disetel ke benar (true) tanpa akun yang sah di perangkat.
  • Tidak ada akun yang login di perangkat (tidak ada akun yang ditambahkan atau akun memerlukan autentikasi ulang).
  • UI sheet bawah tidak muncul jika dialog Login dinonaktifkan untuk akun apa pun di perangkat. Setelan global ini, yang dapat ditemukan di bagian Setelan Akun Google > Login dengan Google, harus diaktifkan agar UI sheet bawah ditampilkan untuk akun apa pun. Hal ini tidak memengaruhi alur tombol.

Tidak dapat membuat kunci sandi karena data terenkripsi dikunci

Pengguna perlu mereset data sisi server Chrome miliknya. Data ini mencakup bookmark dan setelan Chrome, selain sandi dan kunci sandi tersimpan. Untuk mengetahui info selengkapnya tentang data yang disimpan Chrome, buka Data Chrome di akun Anda.

  1. Buka chrome.google.com/sync.
  2. Di bagian bawah, pilih Hapus Data.
  3. Di perangkat, aktifkan Sinkronisasi di Chrome.

Kegagalan Login Awal: 8: Error internal tidak diketahui.

Perangkat mungkin tidak disiapkan dengan benar menggunakan Akun Google. Mungkin ada masalah dengan cara pembuatan JSON kunci sandi. Periksa kembali penerapan untuk memastikan akurasinya.

Tidak dapat mendapatkan akun sinkronisasi

Layanan Google Play versi 24.40.XX dan yang lebih baru akan memberikan kode error yang lebih informatif. Misalnya, alih-alih "Tidak dapat menyinkronkan akun", pemanggil kini akan menerima pesan error pembatalan.