Với SDK Play Games cho máy tính, bạn có thể truy cập vào Dịch vụ Google Play để xây dựng và kiếm tiền từ trò chơi trên máy tính. Bán nội dung kỹ thuật số bằng Play Billing, đăng nhập liền mạch bằng Play Games và xác minh rằng người dùng có quyền hợp lệ đối với ứng dụng của bạn bằng Play Integrity.
Bạn đã sẵn sàng bắt đầu?
Điều kiện tiên quyết
Tạo một mục nhập ứng dụng trong Play Console và xác nhận tên gói Play.
Tải và cài đặt Google Play Games cho máy tính rồi đăng nhập bằng Tài khoản Google của bạn.
Bước 1: Thêm SDK vào dự án
C++
Tải SDK Play Games cho máy tính C++ xuống.
Sao chép thư mục tiêu đề API
includes/vào cơ sở mã của ứng dụng.Sao chép các tệp có thể phân phối lại từ thư mục
imports/vào dự án của ứng dụng, tuỳ thuộc vào kiến trúc mục tiêu:Đối với 64 bit (x64): Sao chép các tệp từ
imports/x64/.Đối với 32 bit (x86): Sao chép các tệp từ
imports/x86/.Liên kết dự án của bạn với
play_pc_sdk.libđể cho phép truy cập vào nội dung củaplay_pc_sdk.dll.
C#
Tải SDK UnityPlay Games cho máy tính xuống dưới dạng tệp tarball (.tgz).
SDK được phân phối dưới dạng tệp tarball (.tgz) tương thích với Trình quản lý gói Unity (UPM). Để nhập gói, hãy xem bài viết Cài đặt gói UPM từ tệp tar cục bộ
Để biết tài liệu chi tiết, hướng dẫn thiết lập và hướng dẫn bổ sung, vui lòng tham khảo trang Gói Unity Play cho máy tính.
Bước 2: Thêm tệp kê khai
Trước khi có thể sử dụng SDK trong trò chơi, bạn cần 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 trong Play Console. Bạn có thể thực hiện việc này bằng cách thêm tệp manifest.xml vào cùng thư mục với tệp thực thi của trò chơi.
Nội dung ví dụ về manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Vị trí ví dụ về manifest.xml:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Bước 3: Ký số trò chơi
Trước khi trò chơi có thể sử dụng SDK, tệp thực thi của trò chơi phải được ký số bằng Chữ ký số Authenticode. Để biết hướng dẫn về cách ký tệp thực thi, hãy xem tài liệu về SignTool .
Khi bạn đã hoàn tất quy trình ký số trò chơi, hãy gửi thông tin chứng chỉ cho đại diện của Google để định cấu hình.
Bước 4: Khởi chạy SDK
Khởi chạy SDK trong trình tự khởi động của trò chơi. Quá trình này sẽ được thực hiện tự động mà không cần bất kỳ tương tác nào của người dùng. Bạn nên xác minh quá trình khởi chạy thành công trước khi kết xuất cửa sổ trò chơi. Điều này mang lại trải nghiệm tốt nhất cho người dùng bằng cách hiển thị và giải quyết lỗi sớm nhất có thể, đồng thời tránh trường hợp cửa sổ trò chơi xuất hiện trong thời gian ngắn khi quy trình trò chơi cần thoát.
Bắt đầu sử dụng SDK bằng cách gọi
GooglePlayInitialize (C++) /
GooglePlayInitialization.InitializeAsync (C#)
để khởi chạy API. Thao tác này sẽ thiết lập trạng thái chung, kết nối với thời gian chạy SDK và xác minh rằng ứng dụng đã được khởi động đúng cách. Bạn PHẢI gọi và hoàn tất lệnh gọi lại tiếp tục bằng InitializeResult::ok() (C++) / Result.IsOk (C#) bằng true trước khi có thể sử dụng bất kỳ API nào khác.
C++
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
C#
// SDK Clients
private BillingClient _billingClient;
private IntegrityClient _integrityClient;
// Stored product information
private string _offerToken;
private async void InitializeSDK()
{
// The factory provides the necessary handler for initialization.
var initializationHandler = PlayPcSdkFactory.InitializationHandler;
var result = await GooglePlayInitialization.InitializeAsync(initializationHandler);
if (result.IsOk)
{
// Use the factory to get Unity-compatible instances of the clients
_billingClient = PlayPcSdkFactory.CreateBillingClient();
_integrityClient = PlayPcSdkFactory.CreateIntegrityClient();
// SDK is ready for use
}
else
{
// Handle specific, actionable errors
if (result.Code == InitializationError.ActionRequiredShutdownClientProcess)
{
Log("This game must be launched through the Google Play Games client. Please exit all game processes immediately, GPG will relaunch the game safely.");
Application.Quit();
}
}
}
Nếu quá trình khởi chạy không thành công với mã kActionRequiredShutdownClientProcess (C++) / InitializationError.ActionRequiredShutdownClientProcess (C#), hãy thoát khỏi quy trình trò chơi càng sớm càng tốt. Thời gian chạy của SDK sẽ cố gắng hỗ trợ người dùng mà không cần trò chơi của bạn thực hiện thêm hành động nào. Ví dụ: nếu người dùng không sở hữu giấy phép hợp lệ cho trò chơi, Google Play Games sẽ nhắc người dùng mua một bản sao. Đối với các lỗi khác, bạn cũng nên thoát khỏi quy trình trò chơi vì bạn sẽ không thể sử dụng SDK để thực hiện các thao tác quan trọng, chẳng hạn như xác minh rằng người dùng sở hữu giấy phép hợp lệ cho trò chơi của bạn.
Phản hồi không thành công có thể cho biết một trong các điều kiện sau:
Thời gian chạy SDK chưa được cài đặt, không chạy trên thiết bị hoặc là phiên bản cũ không tương thích với SDK được tích hợp vào trò chơi của bạn.
Thời gian chạy SDK không xác minh được danh tính ứng dụng của trò chơi. Điều này có thể là do
manifest.xmlkhông hợp lệ hoặc sử dụng SDK mà không bật chế độ nhà phát triển khi phát triển. Nếu không có điều này, tệp thực thi của trò chơi phải được ký số bằng chứng chỉ số đã đăng ký với tên gói Play của bạn.Tệp thực thi trò chơi không được khởi chạy thông qua ứng dụng Google Play Games.
Người dùng đang hoạt động trong Google Play Games không sở hữu giấy phép cho ứng dụng.
Bước 5: (Không bắt buộc) Hỗ trợ nhiều quy trình trò chơi
Hoàn tất các bước tích hợp bổ sung này nếu trò chơi của bạn sử dụng nhiều quy trình và SDK Play Games cho máy tính được sử dụng bởi một quy trình khác với quy trình được Google Play Games trên máy tính khởi chạy. Ví dụ: nếu Google Play Games trên máy tính khởi chạy trình chạy trò chơi của bạn, sau đó trình chạy của bạn sẽ bắt đầu quy trình trò chơi tương tác với SDK.
Quy trình được Google Play Games cho máy tính khởi chạy trực tiếp phải xác minh quá trình khởi chạy SDK Play Games cho máy tính thành công.
Điều này mang lại trải nghiệm tốt nhất cho người dùng bằng cách hiển thị lỗi sớm nhất có thể. Xin lưu ý rằng quy trình con sử dụng SDK cũng phải thực hiện quá trình khởi chạy ngoài quy trình được khởi chạy trực tiếp.
Để sử dụng SDK Play Games cho máy tính trong quy trình con, hãy chuyển tiếp các tham số dòng lệnh đến quy trình con được tạo.
Ví dụ về việc chuyển tiếp tham số dòng lệnh:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --gpg_args=abc --your_args=123 └───YourGame.exe --gpg_args=abc --your_args=123Trong ví dụ này, chúng ta thấy một hệ phân cấp quy trình trong đó Google Play Games cho máy tính (
GooglePlayGames.exe) khởi chạy trò chơi (YourGameLauncher.exe) với một số tham số ví dụ (--gpg_args=abc --your_args=123). Sau đó, trò chơi sẽ tạo một quy trình con (YourGame.exe) sử dụng SDK Play Games cho máy tính. Để cho phép điều này, quy trình trò chơi được Google Play Games cho máy tính khởi chạy sẽ chuyển tiếp các tham số dòng lệnh được cung cấp cho quy trình con.Thoát khỏi tất cả các quy trình khi trò chơi ngừng chạy.
Khi người dùng đóng trò chơi của bạn hoặc trò chơi thoát do lỗi khởi chạy SDK, chẳng hạn như
kActionRequiredShutdownClientProcess, hãy đóng tất cả các quy trình mà trò chơi của bạn đã tạo. Điều này đảm bảo rằng vào lần tiếp theo khi trò chơi của bạn được ứng dụng Google Play Games cho máy tính khởi chạy, các thay đổi mới như chuyển sang một tài khoản đang hoạt động khác sẽ có hiệu lực.
Các bước tiếp theo
Sử dụng SDK trong khi phát triển trong IDE:
Thêm các tính năng của Google Play cho máy tính vào ứng dụng của bạn:
- Bán hàng hoá kỹ thuật số bằng Play Billing
- Đo lường hoạt động tiếp thị bằng Play Install Referrer
- Bảo vệ trò chơi của bạn bằng Play Integrity cho máy tính