Şifreler için Smart Lock'u Android uygulamanıza entegre etmek üzere Credentials API'ye uygulamanızın başlatma ve oturum açma akışına çağrı eklemeniz gerekir. Aşağıdaki şemada, Şifreler için Smart Lock kullanan tipik bir Android uygulamasının akışı gösterilmektedir.
Şifreler için Smart Lock'u başarıyla entegre etmenin birçok yolu olsa da 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, kayıtlı tek bir kimlik bilgilerine sahip mevcut kullanıcıları hemen oturum açar ve uygulamayı açtıklarında doğrudan oturum açılmış görünüme giderler.
- Birden çok kimlik bilgisi kaydetmiş veya otomatik oturum açmayı devre dışı bırakmış kullanıcıların, uygulamanın oturum açmış 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-posta adreslerini seçebilir ve bu bilgiler önceden doldurulmuş olarak, akıllı bir şekilde oturum açma veya kaydolma görünümüne gönderilebilir.
- Kullanıcılar oturumu kapattığında, uygulama otomatik olarak tekrar oturum açmamaları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 bu bilgileri kullanın.Task
başarısız olursa ve istisna,ResolvableApiException
örneğiyse vegetStatusCode()
,RESOLUTION_REQUIRED
değerini döndürürse kimlik bilgilerini seçmek için kullanıcı girişi gerekir.startResolutionForResult()
yöntemini çağırarak kullanıcıdan kayıtlı bir hesabı seçmesini isteyin, ardındangetParcelableExtra(Credential.EXTRA_KEY)
yöntemini çağırarak kullanıcının kimlik bilgilerini alın ve bu bilgileri kullanarak oturum açı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 bilgileri yoktur ve mevcut oturum açma ya da kaydolma akışınızı kullanarak manuel olarak oturum açmalı veya kaydolmalıdır. Kullanıcı oturum açmayı başarıyla tamamladıktan sonra, gelecekte yeniden alabilmesi için kimlik bilgilerini kaydetmesine fırsat verebilirsiniz (5. adım).Oturum açma ipuçlarını (ör. kullanıcının e-posta adresi) alarak kullanıcının daha hızlı ve daha kolay oturum açmasına veya kaydolmasına yardımcı olabilirsiniz. Kullanıcı ipucunu seçip kimlik bilgilerini yazmayı atlayabilir. Uygulamanız kullanıcıların oturum açmasını gerektiriyorsa ilk kimlik bilgisi isteği başarısız olduktan hemen sonra ipuçlarını almayı tercih edebilirsiniz (aksi halde, kullanıcı oturum açma veya kaydolma sürecini başlatana kadar bekleyebilirsiniz).
CredentialsClient.getHintPickerIntent()
yöntemini çağırın ve kullanıcının hesap seçmesini istemek için amacı başlatın, ardından oturum açma ipucunu almak içingetParcelableExtra(Credential.EXTRA_KEY)
hizmetini çağırın.- İpucunun kullanıcı kimliği mevcut bir kullanıcıyla eşleşirse 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şmezse 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 kullanıcı kimliği ve şifreyi
CredentialsClient.save()
ile 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 adresiyle
Credential
nesnesini oluşturun ve kimlik sağlayıcıyısetAccountType
ile belirtin.
Oturumu kapat
- Kullanıcı oturumunu kapattığında, kullanıcının hemen tekrar oturum açmasını önlemek için
CredentialsClient.disableAutoSignIn()
numaralı telefonu arayı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 (örneğin, iş hesapları ile 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? Kullanmaya başlayın.