dự án, bao gồm các bước từ tải SDK xuống đến khởi chạy và định cấu hình bản dựng. keywords_public: Google Play Games dành cho máy tính, Unity, tích hợp SDK, máy tính gốc, phát triển trò chơi, IL2CPP, tệp kê khai, Play Games dành cho máy tính Unity SDK
Hướng dẫn này cung cấp hướng dẫn từng bước để tích hợp Google Play Games PC SDK vào dự án Unity của bạn.
Bước 1: Tải SDK xuống
Tải phiên bản mới nhất của Unity Package bằng đường liên kết tải xuống.
Tải xuống: SDK Unity Play Games trên máy tính
Bước 2: Nhập gói
SDK được phân phối dưới dạng một tệp tar tương thích với Unity Package Manager (UPM). Để biết thêm thông tin, hãy xem bài viết Cài đặt gói UPM từ tệp tar cục bộ
Bước 3: Định cấu hình chế độ cài đặt bản dựng
Để xác minh rằng các thư viện gốc tải đúng cách, bạn phải định cấu hình dự án để sử dụng phần phụ trợ kịch bản IL2CPP và nhắm đến cấu trúc chính xác.
Tạo hồ sơ bản dựng bằng Windows làm nền tảng.
Chọn cài đặt nền tảng là Windows. Đối với cấu trúc, hãy sử dụng các lựa chọn sau:
- Intel 64 bit (Nên dùng)
- Intel 32 bit
Lưu ý: Nền tảng Google Play Games trên máy tính chạy trên môi trường 64 bit. Bạn có thể tạo trò chơi dưới dạng 32 bit (x86) hoặc 64 bit (x64).
Đặt Scripting Backend (Phần phụ trợ tập lệnh) thành IL2CPP. Để biết thêm thông tin, hãy xem bài viết Tạo dự án bằng IL2CPP.
- Đặt Api Compatibility Level (Cấp độ tương thích API) thành .NET Standard 2.0 (hoặc .NET Framework).
Bước 4: Tạo tệp kê khai ứng dụng
Trước khi có thể dùng SDK trong trò chơi, bạn phải liên kết tệp thực thi trò chơi với tên gói Play mà bạn đã xác nhận quyền sở hữu trong Play Console. Bạn có thể thực hiện việc này bằng cách thêm một tệp manifest.xml vào cùng thư mục với tệp thực thi của trò chơi.
Lưu ý: Đây là bước thủ công mà bạn phải thực hiện.
- Để tạo tệp thực thi trò chơi, hãy chọn File > Build and Run (Tệp > Tạo và chạy) hoặc nhấp vào
Ctrl+B. - Mở một trình chỉnh sửa văn bản rồi tạo một tệp mới có tên
manifest.xml. Sao chép và dán mã XML sau đây vào tệp:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
Lưu tệp dưới dạng
manifest.xml.Di chuyển tệp này vào cùng thư mục với tệp thực thi trò chơi đã tạo.
Ví dụ: Nếu trò chơi của bạn ở
Builds/MyGame.exe, thì tệp kê khai phải ởBuilds/manifest.xml.
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.
Bước 5: Khởi chạy SDK
Bạn phải khởi chạy SDK trước khi truy cập vào bất kỳ tính năng nào, chẳng hạn như Thanh toán hoặc Tính toàn vẹn. Sử dụng PlayPcSdkFactory để tạo trình xử lý khởi chạy và bắt đầu kết nối.
Tạo một tập lệnh C# mới, chẳng hạn như SdkInitialization.cs, rồi thêm mã sau:
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
Đính kèm tập lệnh này vào một GameObject trong cảnh đầu tiên. Khi bạn chạy trò chơi, hãy kiểm tra Bảng điều khiển để xem thông báo "SDK Initialized Successfully!" (Đã khởi động SDK thành công!).
Bước 6: Bật tính năng Tự động phát khi cài đặt trò chơi gốc trên máy tính
Google Play Games trên máy tính (GPG) cho phép nhà phát triển bật tính năng "tự động phát". Tính năng này sẽ tự động khởi chạy trò chơi của bạn ngay sau khi quá trình cài đặt hoàn tất. Tính năng này mang đến trải nghiệm liền mạch cho người dùng bằng cách chuyển người chơi trực tiếp vào trò chơi, được xác thực hoàn toàn trong hệ sinh thái GPG.
Cách hoạt động
Khi bạn bật tính năng này, GPG sẽ truyền mã thông báo phiên GPG đến quy trình cài đặt của bên thứ ba (3P) thông qua các đối số dòng lệnh. Sau đó, trình cài đặt của bạn sẽ chịu trách nhiệm trích xuất mã thông báo này và dùng mã thông báo đó để chạy tệp thực thi trò chơi trong một bối cảnh đã xác thực.
Điều kiện tiên quyết
Để sử dụng tính năng này, trình cài đặt bên thứ ba phải có khả năng xử lý các đối số dòng lệnh.
Các bước triển khai
Bật tính năng Tự động phát trong Cấu hình xuất bản
Để chọn sử dụng tính năng này, hãy thêm thuộc tính
acceptsCommandLineArgumentsvào phần tử<installer>trongplay_publishing_config.xml.Ví dụ về nội dung
manifest.xml:<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- Thuộc tính:
acceptsCommandLineArguments - Loại:
Boolean - Mặc định:
false - Hành vi: Khi bạn đặt giá trị này thành true, GPG sẽ thêm mã thông báo phiên vào đối số dòng lệnh khi thực thi trình cài đặt.
- Thuộc tính:
Xử lý mã thông báo phiên trong trình cài đặt
Khi ứng dụng GPG khởi chạy trình cài đặt của bạn, trình cài đặt đó sẽ nhận được mã thông báo phiên dưới dạng đối số dòng lệnh.
- Định dạng đối số:
--g_session_token=<TOKEN>
Những việc bạn phải làm:
- Trích xuất: Trình cài đặt phải phân tích cú pháp các đối số dòng lệnh để truy xuất chuỗi mã thông báo.
- Truyền tải: Nếu quy trình cài đặt của bạn liên quan đến việc chạy một quy trình trình chạy hoặc trò chơi phụ, thì trình cài đặt của bạn chịu trách nhiệm truyền mã thông báo phiên một cách an toàn đến quy trình trò chơi cuối cùng sử dụng SDK.
- Khởi chạy: Sử dụng mã thông báo phiên được cung cấp để khởi động tệp thực thi trò chơi. Điều này đảm bảo trò chơi chạy trong một ngữ cảnh GPG đã xác thực. Nếu không, InitializeSDK sẽ không thành công và người chơi sẽ cần khởi động lại trò chơi.
- Định dạng đối số:
Xử lý lỗi và dự phòng
- Truy xuất mã thông báo: Nếu vì bất kỳ lý do nào mà GPG không thể tạo hoặc truyền mã thông báo phiên (ví dụ: không tạo được mã thông báo), thì quy trình cài đặt vẫn sẽ tiếp tục. Tuy nhiên, trình cài đặt của bạn sẽ được khởi chạy mà không có đối số --g_session_token.
- Tính ổn định: Trình cài đặt của bạn phải được thiết kế để xử lý các trường hợp không có mã thông báo phiên. Trong những trường hợp như vậy, trình cài đặt sẽ tiến hành cài đặt tiêu chuẩn; bạn không nên kích hoạt tính năng khởi chạy trò chơi tự động vì InitializeSDK sẽ không hoạt động.
- Lỗi trình cài đặt: Bạn chịu trách nhiệm về độ ổn định và khả năng xử lý lỗi của trình cài đặt cũng như trình tự khởi chạy trò chơi mà trình cài đặt đó khởi tạo. GPG không kiểm soát các quy trình diễn ra trong trình cài đặt sau khi trình cài đặt được khởi chạy.