One Tap 로그인이 요구 사항을 충족하는 경우 대신 사용하는 것이 좋습니다. One Tap에는 업데이트된 사용자 경험과 기타 개선 사항이 있습니다.

Android 통합 흐름

비밀번호 대용 Smart Lock을 Android 앱에 통합하려면 앱의 시작 및 로그인 흐름에 Credentials API 에 대한 호출을 추가해야합니다. 다음 다이어그램은 비밀번호 대용 Smart Lock을 사용하는 일반적인 Android 앱의 흐름을 보여줍니다.

비밀번호 대용 Smart Lock을 성공적으로 통합하는 방법에는 여러 가지가 있으며 통합의 세부 사항은 앱의 구조 및 사용자 환경에 따라 다르지만 대부분의 앱에는 다음 흐름이 권장됩니다. 이 흐름을 사용하는 앱에는 다음과 같은 사용자 경험 이점이 있습니다.

  • 단일 자격 증명이 저장된 기존 서비스 사용자는 즉시 로그인되며 앱을 열면 로그인 한보기로 바로 이동합니다.
  • 여러 자격 증명이 저장되어 있거나 자동 로그인을 비활성화 한 사용자는 앱의 로그인보기로 이동하기 전에 하나의 대화 상자에만 응답해야합니다.
  • 저장된 자격 증명이 없거나 아직 가입하지 않은 사용자는 탭 한 번으로 이름과 이메일을 선택하고이 정보가 미리 입력 된 상태로 로그인 또는 가입보기로 지능적으로 보낼 수 있습니다.
  • 사용자가 로그 아웃하면 앱은 자동으로 다시 로그인되지 않도록합니다.

Smart Lock 로그인 흐름 다이어그램

자격 증명 검색

  1. 앱이 시작될 때 이미 로그인 한 사용자가 없으면 CredentialsClient.request() 호출합니다.
  2. Task 이 성공하면 getResult().getCredential() 을 사용하여 사용자의 자격 증명을 가져 와서 로그인에 사용합니다.
  3. Task 가 실패하고 예외가 ResolvableApiException 의 인스턴스이고 getStatusCode()RESOLUTION_REQUIRED 반환하는 경우 자격 증명을 선택하려면 사용자 입력이 필요합니다. startResolutionForResult() 를 호출하여 사용자에게 저장된 계정을 선택하라는 메시지를 표시 한 다음 getParcelableExtra(Credential.EXTRA_KEY) 를 호출하여 사용자의 자격 증명을 가져 와서 로그인에 사용합니다.

자격 증명 저장

  1. ApiException 인해 Task 이 실패하고 getStatusCode()SIGN_IN_REQUIRED 반환하는 경우 사용자는 저장된 자격 증명이 없으며 현재 로그인 또는 가입 흐름을 사용하여 수동으로 로그인하거나 가입해야합니다. 사용자가 로그인을 성공적으로 완료 한 후 사용자가 향후 검색을 위해 자격 증명을 저장할 수있는 기회를 제공 할 수 있습니다 (5 단계).

    사용자의 이메일 주소와 같은 로그인 힌트를 검색하여 사용자가 더 빠르고 쉽게 로그인하거나 가입하도록 도울 수 있습니다. 사용자는 힌트를 선택하고 자격 증명 입력을 건너 뛸 수 있습니다. 앱에서 사용자 로그인을 요구하는 경우 초기 자격 증명 요청이 실패한 직후에 힌트를 검색하도록 선택할 수 있습니다 (그렇지 않으면 사용자가 로그인 또는 가입 흐름을 시작할 때까지 기다릴 수 있음).

    1. CredentialsClient.getHintPickerIntent() 호출하고 사용자에게 계정을 선택하라는 메시지를 표시하는 인 텐트를 시작한 다음 getParcelableExtra(Credential.EXTRA_KEY) 를 호출하여 로그인 힌트를 가져옵니다.
    2. 힌트의 사용자 ID가 기존 사용자와 일치하는 경우 로그인 양식을 미리 채우고 사용자가 로그인 할 비밀번호를 입력하도록합니다.
    3. 힌트의 사용자 ID가 기존 사용자와 일치하지 않는 경우 가입 양식에 사용자의 ID와 이름을 미리 입력하고 사용자가 새 계정을 만들도록합니다.
  2. 사용자가 성공적으로 로그인하거나 계정을 만든 후 CredentialsClient.save() 사용하여 사용자 ID와 암호를 저장합니다.

    사용자가 Google 로그인과 같은 제휴 ID 제공 업체로 로그인 한 경우 사용자의 이메일 주소를 ID로 사용하여 Credential 객체를 만들고 setAccountType ID 공급 업체를 지정합니다.

로그 아웃

  1. 사용자가 로그 아웃하면 CredentialsClient.disableAutoSignIn() 을 호출하여 사용자가 즉시 다시 로그인되지 않도록합니다. 자동 로그인을 비활성화하면 사용자가 계정간에 쉽게 전환 할 수 있습니다 (예 : 회사 계정과 개인 계정 간 또는 계정 간). 로그인 정보를 다시 입력 할 필요없이 공유 장치에서.

비밀번호 대용 Smart Lock을 앱에 통합 할 준비가 되셨나요? 시작하십시오 .