Android 15 Beta 2'den itibaren, androidx.credentials:1.5.0-alpha01 ile birlikte geliştiriciler kullanıcı adı veya şifre alanları gibi belirli görünümleri Kimlik Bilgisi Yöneticisi istekleriyle bağlayabilir. Kullanıcı bu görünümlerden birine odaklanırsa ilgili istek Kimlik Bilgisi'ne gönderilir Yönetici'yi seçin. Elde edilen kimlik bilgileri sağlayıcılar arasında toplanır ve klavye satır içi önerileri veya açılır liste önerileri gibi otomatik doldurma kullanıcı arayüzlerinde gösterilir. Bu özellik, kullanıcılar kimlik bilgisi yöneticisi hesap seçicisini yanlışlıkla kapatıp ilgili alanlara dokunduğunda yedek olarak kullanılabilir.
Jetpack androidx.credentials kitaplığı, geliştiricilerin kullanımına sunduk.
Şekil 1: Sonuçları şifre, geçiş anahtarı ve kimlik bilgileriyle otomatik olarak doldurma
Google ile oturum açın.
Uygulama
Kimlik bilgilerini otomatik doldurma sonuçlarında göstermek üzere Kimlik Bilgisi Yöneticisi'ni kullanmak için şunu kullanın:
bir GetCredentialRequest
oluşturmak ve ardından ayarlamak için standart uygulama
alakalı görünümler sunar. Yanıtın getCredential
API çağrısından mı yoksa PendingGetCredentialRequest
'ten mi geldiğine bakılmaksızın yanıt işleme aynıdır (aşağıdaki örnekte gösterildiği gibi).
İlk olarak bir GetCredentialRequest
oluşturun:
Kotlin
// Retrieves the user's saved password for your app. val getPasswordOption = GetPasswordOption() // Get a passkey from the user's public key credential provider. val getPublicKeyCredentialOption = GetPublicKeyCredentialOption( requestJson = requestJson ) val getCredRequest = GetCredentialRequest( listOf(getPasswordOption, getPublicKeyCredentialOption) )
Java
// Retrieves the user's saved password for your app. GetPasswordOption getPasswordOption = new GetPasswordOption(); // Get a passkey from the user's public key credential provider. GetPublicKeyCredentialOption getPublicKeyCredentialOption = new GetPublicKeyCredentialOption(requestJson); GetCredentialRequest getCredRequest = new GetCredentialRequest( Arrays.asList(getPasswordOption, getPublicKeyCredentialOption) );
Ardından getCredential
API'yi çağırın. Kimlik Bilgisi Yöneticisi seçicisi gösterilir.
Kotlin
coroutineScope.launch { try { val result = credentialManager.getCredential( context = activityContext, // Use an activity-based context. request = getCredRequest ) handleSignIn(result); } catch (GetCredentialException e) { handleFailure(e); } }
Java
coroutineScope.launch(new CoroutineScopeRunnable() { @Override public void run(@NonNull CoroutineScope scope) { try { GetCredentialResponse result = credentialManager.getCredential( activityContext, // Use an activity-based context. getCredRequest ); handleSignIn(result); } catch (GetCredentialException e) { handleFailure(e); } } });
Son olarak, otomatik doldurma deneyimini etkinleştirin. getCredRequest
değerini uygun olarak ayarlayın
görünümlerini (ör. username, password
) otomatik doldurmada kimlik bilgisi sonuçlarını etkinleştirmek için
Kullanıcı bu görüntülemelerle etkileşimde bulunduğunda.
Kotlin
import androidx.credentials.PendingGetCredentialRequest usernameEditText.pendingGetCredentialRequest = PendingGetCredentialRequest( getCredRequest) { response -> handleSignIn(response) } passwordEditText.pendingGetCredentialRequest = PendingGetCredentialRequest( getCredRequest) { response -> handleSignIn(response) }
Java
import androidx.credentials.CredentialManagerViewHandler; import androidx.credentials.PendingGetCredentialRequest; CredentialManagerViewHandler.setPendingGetCredentialRequest( usernameEditText, new PendingGetCredentialRequest( getCredRequest, result -> { handleSignIn(result); return null; } ) CredentialManagerViewHandler.setPendingGetCredentialRequest( passwordEditText, new PendingGetCredentialRequest( getCredRequest, result -> { handleSignIn(result); return null; } )