Đăng nhập người dùng vào trò chơi của bạn một cách liền mạch trong khi vẫn tiếp tục sử dụng hệ thống tài khoản của riêng bạn. Với Recall API của Dịch vụ trò chơi của Play, bạn có thể liên kết tài khoản trong trò chơi với tài khoản Dịch vụ trò chơi của Google Play. Sau đó, khi người dùng chơi trò chơi của bạn trên nhiều thiết bị (hoặc cùng một thiết bị sau khi cài đặt lại trò chơi), bạn sẽ truy vấn tài khoản được liên kết trong trò chơi và đơn giản hoá quy trình đăng nhập.
Nếu bạn đã tích hợp với Android Recall API, thì những Recall API này sẽ quen thuộc với bạn. Mọi hoạt động tích hợp phía máy chủ với Recall của Dịch vụ trò chơi của Play đều có thể được các trò chơi trên máy tính sử dụng lại vì chúng giống nhau trên cả Android và máy tính.
Không gian tên: PlayPcSdkManaged.Recall
Lớp ứng dụng: RecallClient
Điều kiện tiên quyết
Đọc thông tin tổng quan về Recall API của Dịch vụ trò chơi của Play.
Hoàn tất quá trình thiết lập Dịch vụ trò chơi của Google Play trong Play Console.
Thêm mã dự án Dịch vụ trò chơi của Play vào tệp kê khai
Sau khi hoàn tất quá trình thiết lập Dịch vụ trò chơi của Play trong Play Console, trò chơi của bạn hiện đã có một mã dự án Dịch vụ trò chơi của Play được liên kết. Bằng mã dự án này (bạn có thể tìm thấy trong trang Cấu hình của Dịch vụ trò chơi của Play trong Play Console), hãy cập nhật manifest.xml của trò chơi.
Ví dụ về nội dung manifest.xml:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?PlayGamesServices> <?ProjectId>123456789<?/ProjectId> <?/PlayGamesServices> <?/Application> <?/Manifest>
Lưu ý: Nếu bạn muốn sử dụng PC SDK trong khi phát triển trong Unity Editor mà không cần ký số tệp thực thi trò chơi hoặc khởi chạy tệp đó từ Google Play Games. Để biết thêm các bước định cấu hình tệp kê khai, hãy xem hướng dẫn thiết lập chế độ nhà phát triển.
Tạo ứng dụng
Luôn sử dụng nhà máy để tạo RecallClient. Điều này đảm bảo rằng các lệnh gọi lại an toàn cho Unity sẽ tự động được đăng ký.
using UnityEngine; using System; using System.Threading.Tasks; // Required SDK Namespaces using PlayPcSdkManaged.Recall; using PlayPcSdkManaged.Unity; public class RecallManager : MonoBehaviour { private RecallClient _recallClient; public void SetupRecall() { try { // Creates the client with the required UnityRecallCallbacksHandler _recallClient = PlayPcSdkFactory.CreateRecallClient(); Debug.Log("Recall Client created successfully."); } catch (Exception ex) { Debug.LogError($"Failed to create Recall Client: {ex.Message}"); } } private void OnDestroy() { // Always dispose of the client to clean up native C++ resources _recallClient?.Dispose(); } }
Yêu cầu quyền truy cập vào Recall
Khi trò chơi của bạn đang xử lý quy trình đăng nhập (ví dụ: thêm tài khoản trong trò chơi), hãy yêu cầu quyền truy cập Recall bằng cách sử dụng RequestRecallAccessAsync.
Lệnh gọi này trả về một mã phiên mà phần phụ trợ của bạn dùng để thực hiện các lệnh gọi phía máy chủ đến Google nhằm liên kết và huỷ liên kết tài khoản trong trò chơi với người dùng Dịch vụ trò chơi của Play.
public async Task RequestRecallAccessAsync() { try { Debug.Log("Requesting Recall access..."); // Async call to retrieve the session ID var result = await _recallClient.RequestRecallAccessAsync(); if (result.IsOk) { // On success, access the RecallSessionId var sessionId = result.Value.RecallSessionId; Debug.Log($"Recall Access Granted! Session ID: {sessionId}"); // Pass 'sessionId' to your backend server to process account linking } else { // Handle expected API errors (e.g., Error) Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}"); } } catch (Exception ex) { Debug.LogException(ex); } }
Xử lý mã phiên Recall
Sau khi trò chơi có mã nhận dạng phiên hoạt động Gọi lại và đã truyền mã nhận dạng đó đến máy chủ phụ trợ của trò chơi, hãy sử dụng API REST phía máy chủ của Play Games để:
- Truy vấn các tài khoản trong trò chơi được liên kết hiện có bằng cách sử dụng
recall.retrieveTokens - Thêm hoặc cập nhật các tài khoản được liên kết trong trò chơi bằng biểu tượng
recall.linkPersona - Xoá tài khoản trong trò chơi được liên kết bằng cách sử dụng
recall.unlinkPersona
Để biết hướng dẫn chi tiết hơn về quy trình tích hợp phía máy chủ, hãy xem tài liệu hướng dẫn cách sử dụng Recall API trong máy chủ trò chơi.