Android entegrasyon akışı

Şifreler için Smart Lock'u Android uygulamanıza entegre etmek üzere Credentials API'yi uygulamanızın başlatma ve oturum açma akışına eklemeniz gerekir. Aşağıdaki şemada, Şifreler için Smart Lock özelliğini 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 özellikleri, uygulamanın yapısına ve kullanıcı deneyimine bağlıdır, ancak ç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 bilgisine sahip mevcut kullanıcıları hemen oturum açar ve uygulamayı açtıklarında doğrudan oturum açmış görünüme giderler.
  • Birden fazla kimlik bilgisi kayıtlı olan veya otomatik oturum açmayı devre dışı bırakan kullanıcıların, uygulamanın oturum açıkken 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.

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

Kimlik bilgilerini alma

  1. Uygulama başladığında, 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 bu bilgileri kullanın.
  3. Task başarısız olursa ve istisna ResolvableApiException örneğiyse ve getStatusCode(), RESOLUTION_REQUIRED değerini döndürürse kimlik bilgisi seçmek için kullanıcı girişi gerekir. Kullanıcıdan kayıtlı bir hesabı seçmesini istemek için startResolutionForResult() çağrısı yapın, ardından kullanıcının kimlik bilgilerini almak ve oturum açmak için bu bilgileri kullanmak üzere getParcelableExtra(Credential.EXTRA_KEY) numaralı telefonu arayın.

Kimlik bilgilerini kaydet

  1. Task bir ApiException ile başarısız olursa ve getStatusCode() 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, daha sonra erişilebilmesi için kimlik bilgilerini kaydetmesi için bir fırsat sağlayabilirsiniz (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 bir şekilde 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ı seçebilirsiniz (aksi halde, kullanıcı oturum açma veya kaydolma akışını başlatana kadar bekleyebilirsiniz).

    1. CredentialsClient.getHintPickerIntent() işlevini çağırın ve kullanıcıdan hesap seçmesini istemek için amacı başlatın, ardından oturum açma ipucunu almak için getParcelableExtra(Credential.EXTRA_KEY) hizmetini arayın.
    2. İ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.
    3. İpucunun kullanıcı kimliği mevcut bir kullanıcıyla eşleşmezse kayıt formunu kullanıcı 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 kullanıcı kimliğini ve şifreyi CredentialsClient.save() ile kaydedin.

    Kullanıcı, Google ile Oturum Açma gibi birleştirilmiş 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

  1. Kullanıcı oturumu 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ı ve 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.