Android Entegrasyon Akışı

Şifreler için Smart Lock'u Android uygulamanıza entegre etmek için uygulamanızın başlangıç ve oturum açma akışına Credentials API'ye çağrı 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ı 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 tek bir kimlik bilgisi kaydedilmiş olan mevcut kullanıcıları hemen oturum açar ve uygulamayı açtığında doğrudan oturum açmış görünüme gider.
  • Kayıtlı birden fazla kimlik bilgisi olan veya otomatik oturum açmayı devre dışı bırakan kullanıcıların, uygulamanın oturum açma 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-postalarını seçebilir ve bu bilgiler önceden doldurulmuş olarak oturum açma veya kaydolma görünümüne akıllı bir şekilde gönderilebilir.
  • Kullanıcılar oturumu kapattığında uygulama, otomatik olarak tekrar oturum açılmamasını sağlar.

Smart Lock oturum açma akışını gösteren şema

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 bunları 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 bilgilerini seçmek için kullanıcı girişi 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) numarasını arayın ve bu bilgileri oturum açmak için kullanı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 bilgisi yoktur ve geçerli oturum açma veya kaydolma akışınızı kullanarak oturum açmanız veya manuel olarak kaydolmanız gerekir. Kullanıcı oturum açmayı başarıyla tamamladıktan sonra, kullanıcının gelecekteki kimlik bilgisi için kimlik bilgilerini kaydetmesine imkan tanıyabilirsiniz (5. adım).

    Oturum açma ipuçlarını (ör. kullanıcının e-posta adresi) alarak kullanıcının oturum açmasına veya daha hızlı ve kolay bir şekilde 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ının oturum açma veya kaydolma akışını başlatmasını bekleyebilirsiniz).

    1. CredentialsClient.getHintPickerIntent() çağırıp kullanıcıdan hesap seçmesini istemeye başlayın, ardından oturum açma ipucu almak için getParcelableExtra(Credential.EXTRA_KEY) numaralı telefonu arayın.
    2. İpucunun User-ID'si mevcut bir kullanıcıyla eşleşiyorsa oturum açma formunu formla önceden doldurun ve kullanıcının oturum açmak için şifreyi girmesine izin verin.
    3. İpucunun User-ID'si 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ılı bir şekilde oturum açtıktan veya hesap oluşturduktan sonra CredentialsClient.save() ile 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, kimliği olarak kullanıcının e-posta adresini kullanarak 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 tekrar oturum açmasını önlemek için CredentialsClient.disableAutoSignIn() çağrısı yapı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 (ör. iş hesapları, 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? Başlayın.