Recall API

Recall API cho phép trò chơi sử dụng Dịch vụ trò chơi của Play (PGS) làm ứng dụng đồng hành với các cơ chế đăng nhập hiện có (ví dụ: Đăng nhập bằng Google) và đồng bộ hoá liền mạch thông tin đăng nhập của người chơi trên các thiết bị để giảm tỷ lệ người chơi rời bỏ trong trò chơi và tăng tỷ lệ giữ chân D1. API quản lý các mối liên kết giữa tài khoản Dịch vụ trò chơi của Play (PGS) và tài khoản trong trò chơi của người dùng bằng cách lưu trữ mã gọi lại trên máy chủ của Google. Dưới đây là một tình huống mẫu về cách sử dụng Recall API:

  1. Khi người dùng chơi trò chơi, nhà phát triển có thể theo dõi tiến trình của người dùng qua một hệ thống nhận dạng, ngoài ra còn sử dụng PGS đồng thời với các phương thức xác thực khác để đăng nhập người dùng vào trò chơi. Trong ví dụ này, người dùng đăng nhập vào tài khoản PGS với tên Laura và tạo một tài khoản trong trò chơi bằng hệ thống nhận dạng của nhà phát triển với tên Racer94. Khi người dùng này chơi trò chơi, máy chủ trò chơi của nhà phát triển sẽ đồng bộ hoá tiến trình của họ.

    Người dùng đã đăng nhập bằng PGS và tài khoản trong trò chơi

  2. Ngoài ra, nhà phát triển sẽ lưu lại một mã gọi lại với Google, tương ứng với tài khoản của người dùng trong trò chơi. Google tự động lưu trữ mã gọi lại này vào hồ sơ PGS của người dùng.

    Máy chủ trò chơi lưu trữ mã gọi lại với máy chủ của Google

  3. Người dùng lúc này quyết định lần đầu chơi trò chơi trên Google Play Games trên máy tính. Người dùng sẽ tự động được đăng nhập bằng tài khoản PGS. Ứng dụng trò chơi sẽ kiểm tra xem có tiến trình nào đã lưu trữ trước đó thuộc về người dùng PGS này hay không. Sau đó, máy chủ trò chơi sẽ truy vấn Google để xem có mã nào thuộc về tài khoản PGS này hay không. Vì nếu có, Google sẽ gửi lại mã gọi lại để máy chủ trò chơi tìm tài khoản Racer94 được liên kết của người dùng và khôi phục tiến trình của họ. Vì việc đăng nhập bằng PGS là một trải nghiệm suôn sẻ, nên tiến trình của người dùng sẽ được ứng dụng khôi phục mà không cần người dùng nhập tên người dùng hoặc mật khẩu. Ngoài ra, nhà phát triển có thể sử dụng tính năng đăng nhập vào PGS bằng hệ thống nhận dạng hiện có, đồng thời dựa vào Google để lưu trữ mối liên kết giữa tiến trình của người chơi với tài khoản PGS của họ.

    Máy chủ trò chơi khôi phục tiến trình bằng mã gọi lại

Như trong ví dụ trên, Recall API có thể thực hiện hai thao tác chính:

  • Lưu trữ mã thông báo bằng Google khi người dùng đăng nhập bằng một trong các tài khoản trong trò chơi.
  • Truy xuất mã thông báo của người dùng để khôi phục tài khoản của họ trong trò chơi.

Ngoài mã gọi lại, Recall API cũng yêu cầu một giá trị nhận dạng ổn định tương ứng với tài khoản trong trò chơi, còn gọi là persona, để thực thi các quy tắc ràng buộc về số lượng giá trị riêng biệt. Bạn có thể coi persona là nhãn đại diện cho tài khoản của người dùng trong trò chơi trong hệ thống nhận dạng của nhà phát triển, còn mã gọi lại là khoá dùng để khôi phục tài khoản của người dùng trong trò chơi. Không được sử dụng lại persona và mã thông báo trong các dự án PGS. Ngoài ra, tuy mã gọi lại có thể thay đổi theo thời gian, nhưng persona thì luôn ổn định theo tài khoản của người dùng trong trò chơi.

Quy tắc về số lượng giá trị riêng biệt

Recall API thực thi mối quan hệ 1:1 giữa hồ sơ PGS và tài khoản trong trò chơi (gọi là quy tắc về số lượng giá trị riêng biệt), trong đó một persona chỉ có thể liên kết với một hồ sơ PGS, và một hồ sơ PGS chỉ có thể được liên kết với một persona. Vì mã gọi lại có thể thay đổi theo thời gian, nên persona được dùng làm giá trị nhận dạng bất biến cho tài khoản trong trò chơi.

Persona liên kết với hồ sơ PGS cũng có thể thay đổi theo thời gian (vì nhiều tài khoản trong trò chơi đều có thể liên kết với hồ sơ PGS).

Quy trình kỹ thuật chi tiết để lưu trữ và truy xuất mã gọi lại

Phần này đề cập đến quy trình kỹ thuật giữa ứng dụng trò chơi, máy chủ trò chơi và máy chủ của Google khi lưu trữ và truy xuất mã gọi lại:

Bước 1: Đăng nhập vào Người dùng PGS và truy xuất mã phiên hoạt động

Trò chơi khởi chạy SDK PGS và đăng nhập người dùng bằng PGS.

Người dùng đăng nhập bằng PGS

Giả sử người dùng đã đăng nhập, hãy yêu cầu mã phiên hoạt động từ SDK trò chơi trên ứng dụng trò chơi và yêu cầu mã OAuth 2.0 từ phần phụ trợ OAuth của Google. Mã phiên hoạt động và mã OAuth 2.0 được dùng để giao tiếp với phần phụ trợ của Google Games.

Nhà phát triển yêu cầu mã phiên hoạt động

Bước 2: Truy xuất mọi mã gọi lại hiện có

Hãy yêu cầu mọi mã gọi lại được liên kết với tài khoản của người dùng PGS. Nếu có mã, hãy chuyển sang Bước 3a và khôi phục tiến trình. Ngược lại, nếu đây là người dùng mới và chưa có mã này, hãy chuyển sang Bước 3b và lưu trữ mã mới.

Nhà phát triển truy xuất mã gọi lại

Bước 3a: Nếu có mã, hãy khôi phục tiến trình

Nếu có mã, hãy truy xuất và giải mã mã đó rồi khôi phục dữ liệu người dùng.

Nhà phát triển khôi phục dữ liệu từ mã gọi lại

Bước 3b: Nếu không có mã nào, hãy lưu trữ một mã

Vì không có mã nên sẽ không khôi phục tiến trình nào. Người dùng tiếp tục đăng nhập bằng hệ thống danh tính của nhà phát triển hoặc tạo một tài khoản mới nếu không có tài khoản.

Người dùng đăng nhập bằng tài khoản của họ trong trò chơi

Tạo một mã gọi lại đã mã hoá để mã hoá tài khoản của người dùng trong trò chơi, rồi gửi cho Google cùng với ID phiên và mã OAuth 2.0. Tới đây, Google sẽ tạo mối liên kết giữa mã gọi lại đã gửi và tài khoản PGS của người chơi.

Nhà phát triển lưu mã gọi lại

Các bước tiếp theo

Để tích hợp Recall API với ứng dụng khách và máy chủ trò chơi, hãy làm theo hướng dẫn triển khai này.