Tek Dokunuşla oturum açma ihtiyaçlarınızı karşılıyorsa, bunun yerine kullanmayı düşünün. One Tap, güncellenmiş bir kullanıcı deneyimine ve diğer iyileştirmelere sahiptir.

Android Entegrasyon Akışı

Ş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.

Smart Lock oturum açma akışının şeması

Kimlik bilgilerini alma

  1. Uygulama başladığında, henüz hiçbir kullanıcı oturum açmamışsa CredentialsClient.request() numaralı telefonu arayın.
  2. Task başarılı olursa kullanıcının kimlik bilgilerini getResult().getCredential() ile alın ve oturum açmak için kullanın.
  3. Task başarısız olursa ve istisna ResolvableApiException öğesinin bir örneğiyse ve getStatusCode() 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çin startResolutionForResult() numaralı telefonu arayın, ardından kullanıcının kimlik bilgilerini almak için getParcelableExtra(Credential.EXTRA_KEY) uygulamasını çağırın.

Kimlik bilgilerini kaydet

  1. Task, ApiException ile başarısız olursa ve getStatusCode() 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).

    1. 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çin getParcelableExtra(Credential.EXTRA_KEY) numaralı telefonu arayın.
    2. İ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.
    3. İ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.
  2. 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 ve setAccountType ile kimlik sağlayıcıyı belirtin.

Oturumu kapat

  1. 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.