Với Play Games PC SDK, bạn có thể truy cập vào các dịch vụ của Google Play để tạo và kiếm tiền từ trò chơi của mình 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à đảm bảo 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 quyền sở hữu 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ủa bạn
Tải SDK C++ Play Games dành cho máy tính 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ừ
imports/
vào dự án ứng dụng của bạn.- 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
.
- Liên kết dự án của bạn với
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 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.
Ví dụ về nội dung manifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Ví dụ về vị trí manifest.xml
:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Bước 3: Ký số cho 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ý bằng chữ ký số bằng Chữ ký số Authenticode. Để biết hướng dẫn về cách ký một tệp thực thi, hãy xem tài liệu về SignTool .
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. Việc này phải được thực hiện tự động mà không cần bất kỳ hoạt động tương tác nào của người dùng và bạn nên xác minh quá trình khởi chạy thành công trước khi hiển thị cửa sổ trò chơi. Điều này mang lại trải nghiệm người dùng tốt nhất bằng cách hiển thị và giải quyết lỗi trong thời gian sớm nhất có thể, đồng thời tránh trường hợp cửa sổ trò chơi của bạn 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
để 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 đã 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 với InitializeResult::ok()
bằng true
trước khi có thể sử dụng bất kỳ API nào khá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.
// ...
}
Nếu quá trình khởi chạy không thành công với mã kActionRequiredShutdownClientProcess
, 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 yêu cầu trò chơi của bạn làm gì thêm. Ví dụ: nếu người dùng không có giấy phép hợp lệ để chơi 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 vẫn nên thoát khỏi quy trình trò chơi càng sớm càng tốt vì quy trình này sẽ không sử dụng SDK để thực hiện các thao tác quan trọng như xác minh xem người dùng có giấy phép hợp lệ cho trò chơi của bạn hay không.
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. Nguyên nhân có thể là do
manifest.xml
khô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ó chứng chỉ này, tệp thực thi của trò chơi phải được ký bằng chứng chỉ số đã đăng ký cho tên gói Play của bạn.Tệp thực thi trò chơi không được 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 có 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
Nếu trò chơi của bạn sử dụng nhiều quy trình và dự định sử dụng Play Games PC SDK từ một quy trình không được Google Play Games trên máy tính khởi chạy trực tiếp, thì bạn cần thực hiện các bước tích hợp bổ sung:
Quy trình do Google Play Games dành 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 dành cho máy tính thành công.
Điều này mang lại trải nghiệm người dùng tốt nhất bằng cách hiển thị lỗi trong thời gian 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 Play Games PC SDK trong một 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 --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
Trong ví dụ này, chúng ta thấy một hệ thống phân cấp quy trình trong đó Google Play Games dành 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ụ (--foo=abc --bar=123
). Sau đó, trò chơi sẽ tạo ra một quy trình con (YourGame.exe
) sử dụng Play Games PC SDK. Để cho phép điều này, quy trình trò chơi do Google Play Games trên 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 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 tạo 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 ứng dụng Google Play Games dành cho máy tính khởi chạy trò chơi của bạn, các thay đổi mới (chẳng hạn 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 trên máy tính vào ứng dụng:
- 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