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

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

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

Để biết hướng dẫn chi tiết hơn về việc tích hợp phía máy chủ, hãy xem tài liệu về cách sử dụng API Gọi lại trong máy chủ trò chơi.