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 dịch vụ đồng hành cơ chế đăng nhập hiện có (ví dụ: đăng nhập bằng Google) và đồng bộ hoá liền mạch của người chơi thông tin đăng nhập trên các thiết bị của họ để giảm tỷ lệ người dùng rời bỏ trong giai đoạn làm quen và tăng tỷ lệ giữ chân người dùng sau 1 ngày. API này 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) của người dùng và tài khoản trong trò chơi bằng cách lưu trữ mã gọi lại trên máy chủ của Google. Sau đâ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 chơi trò chơi trên Google Play Games trên máy tính đầu tiên bất cứ lúc nào. Người dùng được tự động đăng nhập bằng tài khoản PGS, đồng thời ứng dụng khách của trò chơi sẽ kiểm tra xem có tiến trình nào cho PGS này hay không người dùng. Sau đó, máy chủ trò chơi sẽ truy vấn Google để xem có mã thông báo nào cho tài khoản PGS này. Nếu có, Google sẽ gửi lại mã gọi lại, và máy chủ trò chơi dùng mã thông báo đó để tìm tài khoản liên kết của người dùng Racer94 và khôi phục tiến trình của họ. Vì việc đăng nhập bằng PGS là trải nghiệm mượt mà, tiến trình của người dùng được ứng dụng khôi phục mà không người dùng cần nhập tên người dùng hoặc mật khẩu. Ngoài ra, nhà phát triển có thể đăng nhập vào PGS bằng hệ thống nhận dạng hiện có và 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à 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, có hai hành động chính được thực hiện bởi Recall API:

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

Ngoài mã gọi lại, Recall API cũng yêu cầu 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 điều kiện ràng buộc về số lượng giá trị riêng biệt. Bạn có thể nghĩ về một cá tính dưới dạng nhãn đại diện cho tài khoản của người dùng trong trò chơi trên trang web của nhà phát triển hệ thống nhận dạng và mã gọi lại dưới dạng khoá được 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 trên các thiết bị khác nhau Dự án PGS. Ngoài ra, mặc dù 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 luồng 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

Quy trình cho người dùng không có hồ sơ PGS

Bạn có thể lưu trữ mã thông báo Recall cho người dùng chưa tạo hồ sơ PGS bằng cách bằng chế độ không có hồ sơ. Tuy nhiên, có hai điều quan trọng bạn cần lưu ý:

  • Bạn không thể truy xuất mã thông báo cho người dùng không có hồ sơ PGS. Cấu hình sẽ tự động được nhắc khi người dùng cố gắng đăng nhập vào trò chơi của bạn qua Dịch vụ trò chơi của Play trên thiết bị thứ hai.
  • Bạn phải tuân thủ các nguyên tắc bổ sung để đảm bảo bạn có thông báo thích hợp mô tả các mục sau và có được sự đồng ý thích hợp của người dùng cuối:
    • Việc bạn chia sẻ dữ liệu với Google để kích hoạt tài khoản Play Games liên kết tài khoản.
    • Có các chế độ cài đặt để quản lý hoạt động chia sẻ này, chẳng hạn như Play Games phần cài đặt.
    • Việc xử lý dữ liệu đó theo Chính sách quyền riêng tư của Google Chính sách.

Lưu trữ một mã thông báo và cặp persona

Người dùng không có hồ sơ PGS sẽ mở một trò chơi

  1. Người dùng không có hồ sơ PGS sẽ mở một trò chơi có hoạt động gọi lại không có hồ sơ bật.
  2. SDK trò chơi kích hoạt quá trình đăng nhập tự động nhưng sẽ không thành công do người dùng đã không có hồ sơ PGS.
  3. SDK trò chơi hiển thị một thanh thông báo nhanh cho người dùng biết rằng trò chơi đã tích hợp với Google. Thanh thông báo nhanh này có thể thao tác được. Người dùng có thể tắt cho đến khi tạo xong hồ sơ.
  4. Trò chơi yêu cầu quyền truy cập gọi lại. Xin lưu ý rằng PGS từ chối yêu cầu truy cập để thu hồi khi thiết bị có hồ sơ PGS hoặc khi không có hồ sơ Google Các tài khoản trên thiết bị. Trong trường hợp đó, trò chơi sẽ tiếp tục mà không sử dụng PGS.
  5. Sau khi người dùng đăng nhập bằng tài khoản trong trò chơi, trò chơi sẽ tạo một mã thông báo và Cặp persona của người dùng tương ứng với tài khoản của họ trong trò chơi. Trò chơi sẽ lưu trữ cặp thiết bị này với Google. Sau đó, trò chơi có thể lưu trữ nhiều mã thông báo hơn nếu người dùng đăng nhập vào các tài khoản khác trong trò chơi.

Mở trò chơi trên thiết bị mới

  1. Người dùng không có hồ sơ PGS sẽ mở một trò chơi đã bật tính năng gọi lại không cần hồ sơ trên một thiết bị.
  2. Trò chơi ghi lại một mã gọi lại không có hồ sơ như mô tả trong phần Lưu trữ mã thông báo và cặp đôi chân dung.
  3. Người dùng mở cùng một trò chơi trên một thiết bị khác có cùng tài khoản thiết lập.
  4. SDK trò chơi sẽ kích hoạt quy trình tạo hồ sơ. Người dùng có thể xem xét và từ chối mã gọi lại được lưu trữ trước đó. Hiện tại, người dùng sẽ tạo một hồ sơ PGS.
  5. Quá trình tự động đăng nhập vào PGS sẽ hoàn tất và trò chơi sẽ nhận được trạng thái được xác thực.
  6. Trò chơi sẽ truy xuất mã gọi lại cho người dùng như bình thường.

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.