Bản sắc và liên kết tài khoản

Sử dụng phương thức xác thực của Dịch vụ trò chơi của Google Play để tinh giản trải nghiệm xác thực nền tảng người dùng cho trò chơi của bạn. Khởi chạy SDK Dịch vụ trò chơi của Play để kích hoạt quy trình xác thực, nhờ đó bạn không cần quy trình xác thực nền tảng riêng biệt.

Liên kết tài khoản người dùng để bật tính năng liên tục và khả năng chơi trên nhiều thiết bị

Người chơi tương tác với các trò chơi yêu thích trên nhiều thiết bị và nền tảng, bao gồm cả thiết bị di động, máy tính bảng và máy tính. Một kỳ vọng cốt lõi của những người chơi này là khả năng tiếp tục chơi liền mạch ngay tại nơi họ đã dừng lại, bất kể họ chọn thiết bị nào.

Một rào cản đáng kể thường khiến người dùng bỏ ngang là yêu cầu đăng nhập riêng trên mỗi thiết bị mới. Người dùng cần đắm chìm ngay vào trải nghiệm chơi trò chơi mà không bị gián đoạn không cần thiết.

Để tạo điều kiện cho tính liên tục liền mạch và khả năng chơi trên nhiều thiết bị, bạn phải triển khai 2 tính năng chính:

Quy trình xác thực của Dịch vụ trò chơi của Play cung cấp các lựa chọn linh hoạt cho giá trị nhận dạng người chơi. Những lựa chọn này cho phép bạn tích hợp Dịch vụ trò chơi của Play với giải pháp nhận dạng hiện có của riêng bạn.

Tích hợp Dịch vụ trò chơi của Play mới

Đối với những trò chơi chưa tích hợp Dịch vụ trò chơi của Play, Recall API giúp đơn giản hoá quá trình thiết lập phần phụ trợ bằng cách quản lý mối liên kết giữa các tài khoản và lưu trữ mối kết nối giữa tài khoản trò chơi của người dùng và tài khoản của họ trên Dịch vụ trò chơi của Play.

Liên kết tài khoản bằng Recall API

Recall API là giải pháp được đề xuất để liên kết tài khoản người dùng trong các trò chơi đa nền tảng. API này đặc biệt hữu ích cho những trò chơi chưa tích hợp Dịch vụ trò chơi của Play hoặc những trò chơi sử dụng các giải pháp xác thực nền tảng bổ sung ngoài Dịch vụ trò chơi của Play.

Recall API giúp đơn giản hoá quá trình thiết lập phần phụ trợ của trò chơi bằng cách quản lý các mối liên kết tài khoản.

  • Đơn giản hoá phần phụ trợ: API này đơn giản hoá chế độ thiết lập phần phụ trợ của trò chơi để liên kết tài khoản.
  • Mối liên kết do Play quản lý: Play lưu trữ mối liên kết giữa tài khoản trò chơi của người dùng (bao gồm cả tài khoản bên thứ ba) và tài khoản Dịch vụ trò chơi của Play.
  • Khôi phục tiến trình: Nhà phát triển tạo và gửi mã thông báo Recall đến Play. Sau đó, mã này có thể được truy xuất để khôi phục tiến trình chơi của người dùng.

Khi triển khai Recall API, nhà phát triển phải xác minh rằng mã thông báo Recall là các chuỗi không rõ ràng. Các mã thông báo này không được chứa thông tin nhạy cảm hoặc thông tin nhận dạng cá nhân (chẳng hạn như tên, địa chỉ email hoặc thông tin nhân khẩu học) về người chơi.

Trò chơi phải sử dụng các thuật toán mã hoá mạnh mẽ khi tạo mã thông báo Gọi lại để bảo vệ dữ liệu người dùng và duy trì tính bảo mật.

Để tìm hiểu thêm về cách hoạt động của Recall, hãy xem Recall API .

Để triển khai tính năng Recall API, hãy xem phần Tích hợp Recall API của Dịch vụ trò chơi của Play trong trò chơi.

Quản lý nhiều tài khoản bằng Recall API

Khi quản lý nhiều tài khoản cho cùng một người dùng, bạn có thể coi mỗi tài khoản là một nhân cách riêng biệt. Phương pháp này cho phép mang đến trải nghiệm phù hợp dựa trên bối cảnh cụ thể của người dùng.

Để triển khai phương pháp này, hãy làm theo các bước sau:

Mặc dù có nhiều lựa chọn về chính sách (chẳng hạn như tự động khôi phục tài khoản gần đây nhất), nhưng bạn nên đưa ra lời nhắc cho người dùng. Lời nhắc này phải yêu cầu họ chọn tài khoản mà họ muốn khôi phục, mang đến trải nghiệm rõ ràng và thân thiện với người dùng.

Tích hợp Dịch vụ trò chơi của Play hiện có

Phần này giải thích cách tích hợp trò chơi của bạn với Dịch vụ trò chơi của Play bằng cách liên kết tài khoản người chơi. Tìm hiểu cách sử dụng mã nhận dạng người chơi để xác định người chơi đã xác thực và quản lý nhiều tài khoản trò chơi cho một người dùng Dịch vụ trò chơi của Play.

Liên kết với Player_id

Mã nhận dạng người chơi là giá trị nhận dạng cho tài khoản người chơi sử dụng Dịch vụ trò chơi của Play. Trò chơi của bạn có thể truy xuất mã nhận dạng người chơi của mọi người chơi được xác thực vào trò chơi của bạn bằng Dịch vụ trò chơi của Play.

Những trò chơi có thiết lập phụ trợ bằng Dịch vụ trò chơi của Play Player_Id hoặc những trò chơi yêu cầu hỗ trợ người dùng là trẻ em, nên sử dụng Player_Id và liên kết tài khoản trò chơi cũng như tài khoản bên thứ ba với Player_Id.

Tìm hiểu cách hoạt động của mã nhận dạng người chơi:

  • Nhất quán trong một trò chơi: Mã nhận dạng người chơi của một người dùng không thay đổi khi họ chơi cùng một trò chơi trên nhiều thiết bị.
  • Không nhất quán giữa các trò chơi: Mã nhận dạng người chơi không phải lúc nào cũng nhất quán khi người dùng chơi nhiều trò chơi.

Để biết thêm thông tin, hãy xem bài viết về Mã nhận dạng người chơi thế hệ mới.

Quản lý nhiều tài khoản cho mỗi người dùng bằng cách liên kết

Để liên kết nhiều tài khoản người dùng với một tài khoản Dịch vụ trò chơi của Play, hãy tạo một mối quan hệ một-nhiều trong bảng của bạn.

Danh tính trên Google trên nhiều nền tảng bằng tính năng Đăng nhập bằng Google

Đăng nhập bằng Google (SiwG) là giải pháp nhận dạng chính của Google, cho phép nhà phát triển trò chơi nhận thông tin hồ sơ của người chơi một cách an toàn: tên, địa chỉ email và ảnh hồ sơ của họ.

Một lợi ích chính của tính năng Đăng nhập bằng Google là khả năng sử dụng rộng rãi trên nhiều nền tảng, bao gồm cả web, AndroidiOS. Tính năng này mang đến trải nghiệm đăng nhập nhanh chóng, an toàn và quen thuộc mà người chơi đã biết và tin tưởng.

Liên kết với trường sub của mã thông báo nhận dạng trên Google

Để tạo trải nghiệm liền mạch trên nhiều nền tảng, bạn có thể triển khai một chiến lược xác thực liên kết hệ thống tài khoản của trò chơi với một giá trị nhận dạng Tài khoản Google duy nhất. Phương pháp này tận dụng quy trình xác thực Dịch vụ trò chơi của Play tinh giản trên Android trong khi sử dụng SDK Đăng nhập bằng Google tiêu chuẩn trên các nền tảng khác như iOS và Web.

Điểm mấu chốt của chiến lược này là trường sub trong mã thông báo nhận dạng của Google. Trường sub (hoặc "subject") là giá trị nhận dạng riêng biệt và cố định cho tài khoản của người dùng Google. Bạn sẽ sử dụng mã nhận dạng này làm "cầu nối" để liên kết tất cả các phiên của người chơi với một tài khoản trò chơi duy nhất trong phần phụ trợ của bạn.

Sau đây là quy trình ở cấp độ cao:

  • Trên Android: Trò chơi của bạn sẽ khởi chạy SDK Dịch vụ trò chơi của Play để tự động kích hoạt quy trình xác thực trên thiết bị Android. Bạn định cấu hình chế độ tích hợp Dịch vụ trò chơi của Play phiên bản 2 để yêu cầu 3 phạm vi đăng nhập: email, profileopenid. Đây là những phạm vi giống với phạm vi mà SDK Đăng nhập bằng Google tiêu chuẩn yêu cầu. Thao tác này cho phép bạn truy xuất một mã thông báo nhận dạng chứa trường sub của người chơi.
  • Trên web và iOS: Trò chơi của bạn sử dụng các SDK tiêu chuẩn Đăng nhập bằng Google cho web, Đăng nhập bằng Google cho iOS và macOS. Khi người dùng đăng nhập, SiwG SDK sẽ cung cấp một mã nhận dạng mã thông báo cũng chứa trường sub của người dùng.
  • Liên kết tài khoản: Vì người dùng đang đăng nhập bằng cùng một Tài khoản Google trên cả hai nền tảng, nên trường sub mà bạn nhận được sẽ giống nhau. Sau đó, bạn có thể tự tin liên kết giá trị sub này với mã nhận dạng người dùng nội bộ trong giải pháp nhận dạng của mình, tạo ra trải nghiệm người dùng thống nhất.

Tích hợp trên Android

Trên Android, bạn sẽ sử dụng SDK Dịch vụ trò chơi của Google Play làm điểm tích hợp chính. Điều quan trọng là bạn phải định cấu hình ứng dụng đăng nhập Dịch vụ trò chơi của Google Play để yêu cầu các phạm vi đăng nhập bổ sung. Điều này cho phép bạn truy xuất mã xác thực phía máy chủ mà phụ trợ của bạn có thể trao đổi để lấy mã nhận dạng chứa thông tin của người dùng, bao gồm cả trường sub duy nhất.

Nhìn chung, việc triển khai bao gồm:

  1. Thiết lập mã ứng dụng khách trong một dự án hợp nhất: Trước khi tích hợp, bạn phải thiết lập Dịch vụ trò chơi của Play trong Google Play Console để lấy mã ứng dụng khách OAuth 2.0.

  2. Định cấu hình Dịch vụ trò chơi của Play: Trước khi bắt đầu, trước tiên, bạn cần thêm trò chơi của mình trong Google Play Console và tích hợp tính năng xác thực nền tảng Dịch vụ trò chơi của Play với trò chơi của bạn.

  3. Thêm nút Đăng nhập bằng Google: Trên trang đăng nhập hoặc màn hình cài đặt người dùng của trò chơi, hãy thêm nút "Đăng nhập bằng Google". Nút này sẽ kích hoạt quy trình đăng nhập hoặc đăng ký. Khi tạo nút này, bạn nên tuân thủ Nguyên tắc sử dụng thương hiệu của tính năng Đăng nhập bằng Google. Ít nhất, nút này phải hiển thị rõ ràng "Google" hoặc "Đăng nhập bằng Google". Đường liên kết đến nguyên tắc này cũng cung cấp các thành phần UX có thể tải xuống, tuân thủ và có thể được dùng trong trò chơi của bạn.

  4. Yêu cầu mã xác thực máy chủ bằng Phạm vi đăng nhập: Khi người chơi nhấp vào nút này, trò chơi của bạn sẽ yêu cầu mã xác thực máy chủ dùng một lần. Bước quan trọng nhất là định cấu hình yêu cầu này để bao gồm các phạm vi đăng nhập sau đây: EMAIL, PROFILEOPEN_ID.

    Cách bạn định cấu hình việc này phụ thuộc vào môi trường phát triển của bạn:

  5. Trao đổi mã uỷ quyền và xác minh mã nhận dạng trên phần phụ trợ: Gửi mã uỷ quyền từ bước trước đến máy chủ phụ trợ của bạn. Trên máy chủ, hãy làm theo hướng dẫn tiêu chuẩn về quy trình trao đổi mã OAuth 2.0 để đổi mã lấy mã thông báo nhận dạng, mã truy cập và mã làm mới. Như mô tả trong hướng dẫn, bạn phải xác minh mã nhận dạng người dùng trên máy chủ của mình.

  6. Liên kết trường sub: Sau khi xác minh thành công mã thông báo nhận dạng, hãy trích xuất trường sub từ tải trọng của mã thông báo đó. Sử dụng giá trị sub này làm khoá duy nhất cho danh tính Google trong giải pháp nhận dạng của bạn.

    • Nếu giá trị sub này đã tồn tại trong cơ sở dữ liệu của bạn, thì người dùng đã liên kết trước đó. Đăng nhập vào tài khoản trò chơi tương ứng của trẻ.

    • Nếu giá trị sub này không tồn tại, bạn có thể tạo một tài khoản người dùng mới trong hệ thống tài khoản của trò chơi được liên kết với sub này hoặc liên kết với một tài khoản người dùng hiện có trong hệ thống tài khoản bằng cách so khớp thông tin người dùng (chẳng hạn như địa chỉ email) được cung cấp trong Mã thông báo nhận dạng.

Tích hợp trên iOS, web và các nền tảng khác

Trên các nền tảng không phải Android, iOS, Web hoặc máy tính, bạn sẽ sử dụng SDK Đăng nhập bằng Google tiêu chuẩn. Mục tiêu cũng giống như quy trình trên Android: lấy mã nhận dạng Google một cách an toàn, gửi mã nhận dạng đó đến phần phụ trợ của bạn và sử dụng trường sub để liên kết tài khoản.

Nhìn chung, việc triển khai bao gồm:

  1. Tích hợp phía máy khách: Làm theo tài liệu chính thức để tích hợp SDK Đăng nhập bằng Google cho nền tảng của bạn. Các hướng dẫn này bao gồm toàn bộ quy trình phía máy khách, từ việc hiển thị nút Đăng nhập bằng Google cho đến việc truy xuất mã thông báo nhận dạng.

  2. Logic phụ trợ: Gửi mã nhận dạng (hoặc mã uỷ quyền) đến phần phụ trợ của bạn. Sau đó, máy chủ của bạn sẽ thực hiện chính xác quy trình xác minh và logic liên kết trường sub như mô tả trong các bước 4 và 5 của phần "Tích hợp trên Android".

Vì trường sub trong tất cả các quy trình Đăng nhập bằng Google này đều giống với trường được truy xuất từ quy trình Dịch vụ Google Play Games trên Android (đối với cùng một Tài khoản Google), nên quy trình này sẽ liên kết thành công tài khoản của người dùng trên tất cả các nền tảng.