Android entegrasyon akışı

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

Smart Lock oturum açma akışının ş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 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ından getParcelableExtra(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

  1. Task, 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, 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).

    1. 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çin getParcelableExtra(Credential.EXTRA_KEY) hizmetini çağırı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ı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 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

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