Şifreler için Smart Lock'u Android uygulamanıza entegre etmek istiyorsanız uygulamanızın başlangıç ve oturum açma akışına Credentials API'ye arama 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ıdır. Çoğu uygulama için aşağıdaki akış önerilir. Bu akışı kullanan uygulamalar şu kullanıcı deneyimi avantajlarına sahiptir:
- Hizmetinizin tek bir kimlik bilgisini kaydetmiş olan mevcut kullanıcıları hemen oturum açmış olur ve uygulamayı açtığında doğrudan oturum açmış görünüme giderler.
- Birden fazla kimlik bilgisi kaydedilmiş veya otomatik oturum açmayı devre dışı bırakmış kullanıcıların, uygulamanın oturum açma görünümüne gitmeden önce yalnızca bir iletişim kutusunu yanıtlamaları gerekir.
- Kayıtlı kimlik bilgisi olmayan veya henüz kaydolmamış kullanıcılar, adlarını ve e-postalarını tek bir dokunuşla seçebilir ve bu bilgiler önceden doldurulmuş olarak oturum açma veya kaydolma görünümüne akıllı bir şekilde gönderilebilir.
- Uygulama, kullanıcılar oturumu kapattığında otomatik olarak tekrar oturum açmamalarını sağlar.
Kimlik bilgilerini alma
- Uygulama başladığında, henüz 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 kullanın.Task
başarısız olursa ve istisnaResolvableApiException
öğesinin bir örneğiyse vegetStatusCode()
RESOLUTION_REQUIRED
değerini döndürürse kimlik bilgisi seçmek için kullanıcı girişinin olması 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)
uygulamasını çağırın.
Kimlik bilgilerini kaydet
Task
,ApiException
ile başarısız olursa vegetStatusCode()
SIGN_IN_REQUIRED
hatası 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 manuel olarak oturum açmalı veya kaydolmalıdır. Kullanıcı oturum açma işlemini başarıyla tamamladıktan sonra, kullanıcıya gelecekteki kimlik doğrulaması için kimlik bilgilerini kaydetmesi için fırsat verebilirsiniz (5. adım).Kullanıcının e-posta adresi gibi oturum açma ipuçlarını alarak kullanıcının daha hızlı ve daha kolay 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ı oturum açma veya kayıt akışını başlatana kadar bekleyebilirsiniz).
CredentialsClient.getHintPickerIntent()
hesabını çağırın ve kullanıcıdan hesap seçmesini isteme niyetine başlayın. Ardından oturum açma ipucunu almak içingetParcelableExtra(Credential.EXTRA_KEY)
numaralı telefonu arayın.- İpucunun kullanıcı kimliği mevcut bir kullanıcıyla eşleşiyorsa oturum açma formunu önceden doldurun ve kullanıcının oturum açmak için şifreyi girmesine izin verin.
- İpucunun kullanıcı kimliği 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ıyla oturum açtıktan veya hesap oluşturduktan sonra,
CredentialsClient.save()
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 kimlik olarak kullanıcının e-posta adresini kullanarak
Credential
nesnesi oluşturun vesetAccountType
ile kimlik sağlayıcıyı belirtin.
Oturumu kapat
- Kullanıcı oturumunuzu kapattığında hemen oturum açmasını önlemek için
CredentialsClient.disableAutoSignIn()
numaralı telefonu arayın. Otomatik oturum açma özelliğini devre dışı bırakmak, kullanıcıların, oturum açma bilgilerini tekrar girmek zorunda kalmadan hesaplar arasında (ör. iş hesapları, kişisel hesaplar veya paylaşılan cihazlar arasında) kolayca 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.