Dengan Play Game PC SDK, Anda dapat mengakses layanan Google Play untuk mem-build dan memonetisasi game di PC. Jual konten digital menggunakan Layanan Penagihan Play, login dengan lancar menggunakan Play Game, dan verifikasi bahwa pengguna memiliki hak yang valid atas aplikasi Anda dengan Play Integrity.
Siap untuk memulai?
Prasyarat
Buat entri aplikasi di dalam Konsol Play dan klaim nama paket Play.
Download dan instal Google Play Game untuk PC, lalu login dengan Akun Google Anda.
Langkah 1: Tambahkan SDK ke project Anda
C++
Download Play Game PC C++ SDK.
Salin folder header API
includes/ke dalam codebase aplikasi Anda.Salin file yang dapat didistribusikan dari direktori
imports/ke project aplikasi Anda, bergantung pada arsitektur target Anda:Untuk 64-bit (x64): Salin file dari
imports/x64/.Untuk 32-bit (x86): Salin file dari
imports/x86/.Tautkan project Anda dengan
play_pc_sdk.libyang memungkinkan akses ke kontenplay_pc_sdk.dll.
C#
Download Play Game PC Unity SDK sebagai file tarball (.tgz).
SDK didistribusikan sebagai tarball (.tgz) yang kompatibel dengan Unity Package Manager (UPM). Untuk mengimpor paket, lihat Menginstal paket UPM dari file tar lokal
Untuk dokumentasi mendetail, petunjuk penyiapan, dan panduan tambahan, lihat halaman Paket Unity Play PC.
Langkah 2: Tambahkan file manifes
Sebelum dapat menggunakan SDK dari dalam game, Anda harus mengaitkan game yang dapat dieksekusi dengan nama paket Play yang Anda klaim di dalam Konsol Play. Hal ini dilakukan dengan menambahkan file manifest.xml di direktori yang sama dengan game yang dapat dieksekusi.
Contoh konten manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Contoh penempatan manifest.xml:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Langkah 3: Tanda tangani game Anda secara digital
Sebelum game dapat menggunakan SDK, game yang dapat dieksekusi harus ditandatangani secara digital menggunakan Tanda Tangan Digital Authenticode. Untuk mengetahui petunjuk cara menandatangani file yang dapat dieksekusi, lihat dokumentasi di SignTool .
Setelah menyelesaikan proses penandatanganan game Anda secara digital, kirim informasi sertifikat ke perwakilan Google Anda untuk konfigurasi.
Langkah 4: Lakukan inisialisasi SDK
Lakukan inisialisasi SDK selama urutan startup game Anda. Hal ini harus dilakukan secara otomatis tanpa memerlukan interaksi pengguna dan sebaiknya verifikasi inisialisasi yang berhasil sebelum merender jendela game Anda. Hal ini memberikan pengalaman pengguna terbaik dengan menampilkan dan menyelesaikan error sesegera mungkin dan menghindari jendela game Anda muncul sebentar jika proses game Anda perlu keluar.
Mulai gunakan SDK dengan memanggil
GooglePlayInitialize (C++) /
GooglePlayInitialization.InitializeAsync (C#)
untuk melakukan inisialisasi API. Tindakan ini akan menyiapkan status global, terhubung dengan runtime SDK, dan memverifikasi bahwa aplikasi dimulai dengan benar. Tindakan ini HARUS dipanggil dan memiliki callback kelanjutan yang selesai dengan InitializeResult::ok() (C++) / Result.IsOk (C#) sama dengan true sebelum API lainnya dapat digunakan.
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();
}
}
}
Jika inisialisasi gagal dengan kode kActionRequiredShutdownClientProcess (C++) / InitializationError.ActionRequiredShutdownClientProcess (C#), keluar dari proses game sesegera mungkin. Runtime SDK akan mencoba membantu pengguna tanpa tindakan tambahan yang diperlukan oleh game Anda. Misalnya, jika pengguna tidak memiliki lisensi yang valid untuk game tersebut, Google Play Game akan meminta pengguna untuk membeli salinan. Untuk error lainnya, Anda juga harus keluar dari proses game karena tidak akan dapat menggunakan SDK untuk melakukan operasi penting, seperti memverifikasi bahwa pengguna memiliki lisensi yang valid untuk game Anda.
Respons yang tidak berhasil dapat menunjukkan salah satu kondisi berikut:
Runtime SDK tidak diinstal, tidak berjalan di perangkat, atau merupakan versi lama yang tidak kompatibel dengan SDK yang terintegrasi ke dalam game Anda.
Runtime SDK tidak dapat memverifikasi identitas aplikasi game. Hal ini dapat disebabkan oleh
manifest.xmlyang tidak valid atau menggunakan SDK tanpa mengaktifkan mode developer saat mengembangkan. Tanpa ini, game yang dapat dieksekusi harus ditandatangani secara digital dengan sertifikat digital yang terdaftar ke nama paket Play Anda.Game yang dapat dieksekusi tidak diluncurkan melalui klien game Google Play.
Pengguna aktif di Google Play Game tidak memiliki lisensi untuk aplikasi tersebut.
Langkah 5: (Opsional) Mendukung beberapa proses game
Selesaikan langkah integrasi tambahan ini jika game Anda menggunakan beberapa proses, dan Play Game PC SDK digunakan oleh proses yang berbeda dengan proses yang diluncurkan oleh Google Play Game di PC. Misalnya, jika Google Play Game di PC meluncurkan peluncur game Anda, lalu peluncur Anda memulai proses game yang akan berinteraksi dengan SDK.
Proses yang diluncurkan langsung oleh Google Play Game untuk PC harus memverifikasi inisialisasi Play Game PC SDK yang berhasil.
Hal ini memberikan pengalaman pengguna terbaik dengan menampilkan error sesegera mungkin. Perhatikan bahwa proses turunan yang menggunakan SDK juga harus melakukan inisialisasi selain proses yang diluncurkan secara langsung.
Untuk menggunakan Play Game PC SDK dalam proses turunan, teruskan parameter command line ke proses turunan yang dibuat.
Contoh penerusan parameter command line:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --gpg_args=abc --your_args=123 └───YourGame.exe --gpg_args=abc --your_args=123Dalam contoh ini, kita melihat hierarki proses tempat Google Play Game untuk PC (
GooglePlayGames.exe) meluncurkan game (YourGameLauncher.exe) dengan beberapa parameter contoh (--gpg_args=abc --your_args=123). Kemudian, game membuat proses turunan (YourGame.exe) yang menggunakan Play Game PC SDK. Untuk mengizinkan hal ini, proses game yang diluncurkan oleh Google Play Game untuk PC meneruskan parameter command line yang diberikan ke proses turunan.Keluar dari semua proses saat game berhenti berjalan.
Saat pengguna menutup game Anda atau game keluar karena kegagalan inisialisasi SDK, seperti
kActionRequiredShutdownClientProcess, tutup semua proses yang dibuat game Anda. Hal ini memastikan bahwa saat game Anda diluncurkan berikutnya oleh klien Google Play Game untuk PC, perubahan baru seperti beralih ke akun aktif lain akan berlaku.
Langkah berikutnya
Gunakan SDK saat mengembangkan di IDE Anda:
- Mengaktifkan mode developer
Tambahkan fitur Google Play PC ke aplikasi Anda:
- Menjual produk digital dengan Layanan Penagihan Play
- Mengukur pemasaran Anda dengan Play Install Referrer
- Melindungi game Anda dengan Play Integrity untuk PC