Geri gelen kullanıcılar için One Tap ile oturum açmayı etkinleştirmek üzere kullanıcılardan kayıt yapmalarını isteyebilirsiniz şifresini Google ile paylaşmalarını isteyin. Kullanıcı, kayıtlı hesabıyla oturum açabilir şifreler.
Şifreyi kaydetme akışını başlattığınızda, kullanıcıya bir şifre şifrelerini kaydetmek isteyip istemediklerini seçmelerine olanak tanıyan alt sayfa iletişim kutusu ve verileri hangi Google hesabına kaydetmek istediklerini görebilirsiniz.
Şifre kaydetme alt sayfası iletişim kutusunu başlat
Şifre kaydetme iletişim kutusunu, kullanıcı adınızı ve şifrenizi girin. Bu sırada kimlik bilgilerini bellekte tutun kimlik doğrulama. Kimlik bilgilerinin geçerli olduğunu onayladıktan sonra aşağıdakileri yaparak iletişim kutusunu kaydedin:
Yeni bir
SignInPassword
nesnesi oluşturun. Kullanıcıyla birlikte başlatılması gerekir. hizmetinizle kullandıkları kimlik (ör. kullanıcı adı veya e-posta adresi) ve şifreyi girin.private static final int REQUEST_CODE_GIS_SAVE_PASSWORD = 2; /* unique request id */ private void savePassword() { SignInPassword signInPassword = new SignInPassword(userId, password); ...
SavePasswordRequest
nesnesi oluşturunSavePasswordRequest savePasswordRequest = SavePasswordRequest.builder().setSignInPassword(signInPassword).build();
Şifre kaydetme iletişim kutusunu görüntülemek için bir
PendingIntent
alınIdentity.getCredentialSavingClient
ve akışı başlatın:Identity.getCredentialSavingClient(activity) .savePassword(savePasswordRequest) .addOnSuccessListener( result -> { startIntentSenderForResult( result.getPendingIntent().getIntentSender(), REQUEST_CODE_GIS_SAVE_PASSWORD, /* fillInIntent= */ null, /* flagsMask= */ 0, /* flagsValue= */ 0, /* extraFlags= */ 0, /* options= */ null); })
Şifre kaydetme sonuçlarını işleme
Şifre kaydetme akışının sonucunu onActivityResult'da ele alın:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_GIS_SAVE_PASSWORD) {
if (resultCode == Activity.RESULT_OK) {
/* password was saved */
} else if (resultCode == Activity.RESULT_CANCELED) {
/* password saving was cancelled */
}
}
}
private ActivityResultLauncher<IntentSenderRequest> savePasswordHandler =
registerForActivityResult(new ActivityResultContracts.StartIntentSenderForResult(), result -> {
// handle intent result here
});