Nếu đăng nhập One Tap đáp ứng được nhu cầu của bạn, hãy xem xét sử dụng nó để thay thế. One Tap có trải nghiệm người dùng được cập nhật và các cải tiến khác.

Quy trình tích hợp Android

Để tích hợp Smart Lock cho Mật khẩu vào ứng dụng Android, bạn phải thêm lệnh gọi tới API thông tin đăng nhập vào quy trình khởi động và đăng nhập của ứng dụng. Sơ đồ sau đây cho thấy quy trình của một ứng dụng Android điển hình sử dụng Smart Lock cho Mật khẩu.

Mặc dù có nhiều cách để tích hợp thành công Smart Lock cho Mật khẩu và các chi tiết cụ thể của việc tích hợp phụ thuộc vào cấu trúc và trải nghiệm người dùng của ứng dụng, quy trình sau đây được khuyến nghị cho hầu hết các ứng dụng. Các ứng dụng sử dụng quy trình này có những lợi thế về trải nghiệm người dùng sau:

  • Người dùng hiện tại của dịch vụ của bạn đã lưu một thông tin xác thực sẽ được đăng nhập ngay lập tức và họ sẽ chuyển thẳng đến chế độ xem đã đăng nhập khi mở ứng dụng.
  • Người dùng đã lưu nhiều thông tin xác thực hoặc đã tắt đăng nhập tự động chỉ cần phản hồi một hộp thoại trước khi họ chuyển đến chế độ xem đã đăng nhập của ứng dụng.
  • Người dùng không có thông tin xác thực đã lưu hoặc chưa đăng ký có thể chọn tên và email của họ bằng một lần nhấn và được chuyển một cách thông minh đến chế độ xem đăng nhập hoặc đăng ký, với thông tin này đã được điền sẵn.
  • Khi người dùng đăng xuất, ứng dụng đảm bảo họ không tự động đăng nhập lại.

Sơ đồ quy trình đăng nhập Smart Lock

Lấy thông tin đăng nhập

  1. Khi ứng dụng khởi động, nếu chưa có người dùng nào đăng nhập, hãy gọi CredentialsClient.request() .
  2. Nếu Task thành công, hãy lấy thông tin đăng nhập của người dùng bằng getResult().getCredential() và sử dụng chúng để đăng nhập.
  3. Nếu Task không thành công và ngoại lệ là một phiên bản của ResolvableApiExceptiongetStatusCode() trả về RESOLUTION_REQUIRED , thì người dùng cần phải nhập thông tin đăng nhập. Gọi startResolutionForResult() để nhắc người dùng chọn tài khoản đã lưu, sau đó gọi getParcelableExtra(Credential.EXTRA_KEY) để lấy thông tin đăng nhập của người dùng và sử dụng chúng để đăng nhập.

Lưu thông tin đăng nhập

  1. Nếu Task không thành công với ApiExceptiongetStatusCode() trả về SIGN_IN_REQUIRED , người dùng không có thông tin xác thực đã lưu và phải đăng nhập hoặc đăng ký theo cách thủ công bằng quy trình đăng nhập hoặc đăng ký hiện tại của bạn. Sau khi người dùng hoàn tất đăng nhập thành công, bạn có thể tạo cơ hội cho người dùng lưu thông tin đăng nhập của họ để truy xuất trong tương lai (bước 5).

    Bạn có thể giúp người dùng đăng nhập hoặc đăng ký nhanh hơn và dễ dàng hơn bằng cách truy xuất các gợi ý đăng nhập, chẳng hạn như địa chỉ email của người dùng. Người dùng có thể chọn gợi ý và bỏ qua việc nhập thông tin đăng nhập của họ. Nếu ứng dụng của bạn yêu cầu người dùng đăng nhập, bạn có thể chọn truy xuất gợi ý ngay sau khi yêu cầu thông tin xác thực ban đầu không thành công (nếu không, bạn có thể đợi cho đến khi người dùng bắt đầu quy trình đăng nhập hoặc đăng ký).

    1. Gọi CredentialsClient.getHintPickerIntent() và bắt đầu ý định nhắc người dùng chọn tài khoản, sau đó gọi getParcelableExtra(Credential.EXTRA_KEY) để nhận gợi ý đăng nhập.
    2. Nếu ID người dùng của gợi ý khớp với người dùng hiện có, hãy điền trước biểu mẫu đăng nhập với nó và để người dùng nhập mật khẩu để đăng nhập.
    3. Nếu ID người dùng của gợi ý không khớp với người dùng hiện có, hãy điền trước vào biểu mẫu đăng ký với ID và tên của người dùng và để người dùng tạo tài khoản mới.
  2. Sau khi người dùng đăng nhập hoặc tạo tài khoản thành công, hãy lưu ID người dùng và mật khẩu bằng CredentialsClient.save() .

    Nếu người dùng đã đăng nhập bằng nhà cung cấp danh tính được liên kết như Google Sign-In, hãy tạo đối tượng Credential với địa chỉ email của người dùng làm ID và chỉ định nhà cung cấp danh tính bằng setAccountType .

Đăng xuất

  1. Khi người dùng đăng xuất, hãy gọi CredentialsClient.disableAutoSignIn() để ngăn người dùng đăng nhập lại ngay lập tức. Tắt tự động đăng nhập cũng cho phép người dùng chuyển đổi giữa các tài khoản một cách dễ dàng — ví dụ: giữa tài khoản cơ quan và cá nhân hoặc giữa các tài khoản trên các thiết bị dùng chung — mà không cần phải nhập lại thông tin đăng nhập của họ.

Bạn đã sẵn sàng tích hợp Smart Lock cho Mật khẩu vào ứng dụng của mình chưa? Bắt đầu .