Şifreler için Smart Lock'u Android uygulamanıza entegre etmek için uygulamanızın başlangıç ve oturum açma akışına Credentials API'ye çağrı eklemeniz gerekir. Aşağıdaki şemada, Şifreler için Smart Lock'u kullanan tipik bir Android uygulamasının akışı gösterilmektedir.
Şifreler için Smart Lock'u başarıyla entegre etmenin birçok yolu vardır ve bir entegrasyonun ayrıntıları uygulamanın yapısına ve kullanıcı deneyimine bağlı olsa da çoğu uygulama için aşağıdaki akış önerilir. Bu akışı kullanan uygulamalar aşağıdaki kullanıcı deneyimi avantajlarına sahiptir:
- Hizmetinizin tek bir kimlik bilgisi kaydedilmiş olan mevcut kullanıcıları hemen oturum açar ve uygulamayı açtığında doğrudan oturum açmış görünüme gider.
- Kayıtlı birden fazla kimlik bilgisi olan veya otomatik oturum açmayı devre dışı bırakan kullanıcıların, uygulamanın oturum açma görünümüne gitmeden önce yalnızca bir iletişim kutusuna yanıt vermesi gerekir.
- Kayıtlı kimlik bilgisi olmayan veya henüz kaydolmamış kullanıcılar tek bir dokunuşla adlarını ve e-postalarını seçebilir ve bu bilgiler önceden doldurulmuş olarak oturum açma veya kaydolma görünümüne akıllı bir şekilde gönderilebilir.
- Kullanıcılar oturumu kapattığında uygulama, otomatik olarak tekrar oturum açılmamasını sağlar.
Kimlik bilgilerini alma
- Uygulama başladığında, hiçbir kullanıcı oturum açmamışsa
CredentialsClient.request()
numaralı telefonu arayın. Task
başarılı olursa kullanıcının kimlik bilgilerinigetResult().getCredential()
ile alın ve oturum açmak için bunları kullanın.Task
başarısız olursa ve istisnaResolvableApiException
öğesinin bir örneğiyse vegetStatusCode()
RESOLUTION_REQUIRED
değerini döndürürse kimlik bilgilerini seçmek için kullanıcı girişi gerekir. Kullanıcının kayıtlı bir hesabı seçmesini istemek içinstartResolutionForResult()
numaralı telefonu arayın, ardından kullanıcının kimlik bilgilerini almak içingetParcelableExtra(Credential.EXTRA_KEY)
numarasını arayın ve bu bilgileri oturum açmak için kullanın.
Kimlik bilgilerini kaydet
Task
,ApiException
ile başarısız olursa vegetStatusCode()
SIGN_IN_REQUIRED
değerini döndürürse kullanıcının kayıtlı kimlik bilgisi yoktur ve geçerli oturum açma veya kaydolma akışınızı kullanarak oturum açmanız veya manuel olarak kaydolmanız gerekir. Kullanıcı oturum açmayı başarıyla tamamladıktan sonra, kullanıcının gelecekteki kimlik bilgisi için kimlik bilgilerini kaydetmesine imkan tanıyabilirsiniz (5. adım).Oturum açma ipuçlarını (ör. kullanıcının e-posta adresi) alarak kullanıcının oturum açmasına veya daha hızlı ve kolay bir şekilde kaydolmasına yardımcı olabilirsiniz. Kullanıcı ipucunu seçebilir ve kimlik bilgilerini yazmayı atlayabilir. Uygulamanız, kullanıcıların oturum açmasını gerektiriyorsa ipuçlarını, ilk kimlik bilgisi isteği başarısız olduğunda hemen almayı seçebilirsiniz (aksi halde, kullanıcının oturum açma veya kaydolma akışını başlatmasını bekleyebilirsiniz).
CredentialsClient.getHintPickerIntent()
çağırıp kullanıcıdan hesap seçmesini istemeye başlayın, ardından oturum açma ipucu almak içingetParcelableExtra(Credential.EXTRA_KEY)
numaralı telefonu arayın.- İpucunun User-ID'si mevcut bir kullanıcıyla eşleşiyorsa oturum açma formunu formla önceden doldurun ve kullanıcının oturum açmak için şifreyi girmesine izin verin.
- İpucunun User-ID'si mevcut bir kullanıcıyla eşleşmiyorsa kayıt formunu kullanıcının kimliği ve adıyla önceden doldurun ve kullanıcının yeni bir hesap oluşturmasına izin verin.
-
Kullanıcı başarılı bir şekilde oturum açtıktan veya hesap oluşturduktan sonra
CredentialsClient.save()
ile kullanıcı kimliğini ve şifreyi kaydedin.Kullanıcı, Google ile Oturum Açma gibi birleşik bir kimlik sağlayıcıyla oturum açtıysa, kimliği olarak kullanıcının e-posta adresini kullanarak
Credential
nesnesini oluşturun ve kimlik sağlayıcıyısetAccountType
ile belirtin.
Oturumu kapat
- Kullanıcı oturumu kapattığında, kullanıcının tekrar oturum açmasını önlemek için
CredentialsClient.disableAutoSignIn()
çağrısı yapın. Otomatik oturum açmayı devre dışı bırakmak, kullanıcıların oturum açma bilgilerini yeniden girmek zorunda kalmadan hesaplar arasında kolayca (ör. iş hesapları, kişisel hesaplar veya paylaşılan cihazlardaki hesaplar arasında) geçiş yapmasına da olanak tanır.
Şifreler için Smart Lock'u uygulamanıza entegre etmeye hazır mısınız? Başlayın.