Đăng nhập liền mạch cho người dùng vào trò chơi của bạn 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 API Gọi lại của Dịch vụ trò chơi của Play, bạn có thể liên kết các 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 trên 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 API Gọi lại của Android, thì các API Gọi lại 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 tính năng Gọi lại của Dịch vụ trò chơi của Play đều có thể được các tựa game 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 bài viết tổng quan về API Gọi lại 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ã dự án Dịch vụ trò chơi của Play được liên kết. Sử dụng mã dự án này,
có thể tìm thấy trong trang Cấu hình 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 SDK dành cho máy tính trong khi phát triển trong Trình chỉnh sửa Unity mà không cần ký kỹ thuật 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ẽ được tự động đă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 tính năng Gọi lại
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 vào tính năng Gọi lại bằng cách sử dụng
RequestRecallAccessAsync.
Lệnh gọi này trả về mã phiên mà phần phụ trợ của bạn sử 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 các 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 Gọi lại
Sau khi trò chơi của bạn có mã phiên Gọi lại và đã chuyển mã đó đến máy chủ trò chơi phụ trợ, 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 được liên kết hiện có trong trò chơi 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 cách sử dụng
recall.linkPersona - Xoá các tài khoản được liên kết trong trò chơi bằng cách sử dụng
recall.unlinkPersona