Thu hồi Dịch vụ trò chơi của Play

Đă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

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.