Recall API

Recall API cho phép trò chơi quản lý liên kết giữa người dùng dịch vụ trò chơi của Play (PGS) và tài khoản trong trò chơi bằng cách lưu trữ mã gọi lại (recall token) trên máy chủ của Google. Dưới đây là trường hợp ví dụ 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 qua GPG trên máy tính. Người dùng sẽ tự động được đăng nhập thông qua 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ì quá trình đăng nhập bằng PGS là một trải nghiệm không gián đoạn, 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 người này.

    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 hành động chính: lưu trữ mã trên Google khi người dùng đăng nhập bằng một tài khoản trong trò chơi bất kỳ và truy xuất mã của người dùng để khôi phục lại tài khoản của người dùng này 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 bất biến 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 theo 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 thể sử dụng lại persona và mã gọi lại giữa nhiều 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 khách và máy chủ của trò chơi với 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. Lưu ý: Đây không phải là đăng nhập bằng PGS (đã thực hiện trước đó), mà là đăng nhập bằng hệ thống nhận dạng của nhà phát triển bên ngoài PGS.

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 này.