Pertanyaan umum (FAQ)

Dokumen ini menjawab pertanyaan umum tentang SDK dan publikasi untuk Google Play Game di PC.

Bagaimana cara menambahkan VPN?

Untuk developer yang perlu menguji game mereka di wilayah yang tidak mendukung Google Play Game di PC, sebaiknya gunakan VPN untuk mendapatkan alamat IP dari wilayah yang didukung.

Pastikan Anda mengaktifkan mode TUN di VPN. Panduan tentang cara mengaktifkan mode TUN dan mengonfigurasi firewall dapat ditemukan di manual pengoperasian penyedia VPN.

Setelah mode TUN diaktifkan, instal Google Play Game di PC dan emulator untuk tujuan pengujian.

Dapatkah Anda menggunakan alur pembelian tanpa server backend?

Dari perspektif keamanan, pemrosesan tanpa server backend umumnya tidak direkomendasikan.

Untuk mengetahui informasi selengkapnya, lihat Memproses tanpa server backend.

Bagaimana cara mulai mengembangkan untuk Google Play Game di PC di Unity atau UE Editor?

Saat Anda memulai game menggunakan aplikasi Google Play Game, apakah aplikasi tersebut menyinkronkan detail Akun Google Anda

Setelah meluncurkan game melalui klien Google Play Game, akun akan disinkronkan secara otomatis dan tidak perlu login melalui proses Login Google lagi.

Saat mengirimkan App Bundle Windows (WAB) menggunakan peluncur pihak ketiga, apakah paket game diperlukan untuk ditinjau?

Anda cukup mengirimkan penginstal dan tidak perlu mengirimkan seluruh paket game, peninjau akan dapat mendownload paket game Anda menggunakan penginstal.

Jika pemain menggunakan peluncur pihak ketiga, bukan Klien Google Play, apakah akun Layanan game Play mereka akan otomatis disinkronkan?

Agar fungsi SDK dapat beroperasi, game harus diluncurkan langsung melalui klien Google Play Game. Jika proses lain, seperti aplikasi penginstal atau peluncur, memulai game, maka proses tersebut harus diluncurkan dari klien Google Play Game. Game harus meneruskan semua parameter yang diterima dari klien ke proses klien.

Bagaimana SDK menangani login Akun Google untuk beberapa instance atau akun?

Setiap peluncuran game di Google Play Game diperlakukan sebagai "sesi game" dan setiap "sesi game" dapat memiliki akun yang terkait dengannya. Keduanya bisa berbeda. Jadi, jika Anda meluncurkan game dengan akun A, lalu beralih ke akun B dan meluncurkan ulang, keduanya dapat berjalan secara bersamaan.

Apakah ada batasan ukuran file WAB (Windows App Bundle)?

Anda dapat mengupload ukuran file hingga 10 GB untuk WAB.

Apakah sistem pembayaran berbasis API yang ada diizinkan setelah mengintegrasikan SDK Google Play Game di PC?

Semua pembayaran harus ditangani oleh SDK Google Play Game di PC menggunakan Layanan Penagihan Google Play. Anda tidak dapat menggunakan metode pembayaran berbasis API yang ada di game yang sama.

Apakah ada lingkungan pengujian terbuka atau tertutup yang serupa dengan perangkat seluler?

Meskipun sandbox menyeluruh khusus saat ini belum tersedia, kami menyadari kebutuhan akan lingkungan pengujian yang mirip dengan lingkungan produksi bagi developer. Solusi yang lebih andal akan segera ditawarkan.

Kami tidak dapat menggunakan pembelian yang dimulai dalam mode developer dengan benar?

Penggunaan pembelian dalam mode developer harus dilakukan dalam waktu 3 menit, atau pembelian mungkin telah dikembalikan dananya.

Apakah ada perbedaan antara API (lama) dan SDK Google Play Game di PC?

  • Legacy hanya berfokus pada Penagihan
  • SDK ini akan mendukung Google Desktop Service (GDS) dan fitur PC lengkap
  • Antarmuka SDK yang cocok untuk developer
  • Tidak perlu Login dengan Google berbasis browser

Apakah ada cara alternatif untuk melakukan inisialisasi SDK dengan meluncurkan game secara langsung menggunakan peluncur game, tanpa melalui Google Play Game di PC?

Game harus diluncurkan melalui klien Google Play Game di PC. Untuk mengetahui detail selengkapnya, lihat dokumen developer

Pembayaran atau langganan berulang tidak didukung; apakah ada rencana untuk menerapkan fitur ini?

Tidak ada rencana untuk menambahkan opsi pembelian tersebut di luar Pembelian Dalam Aplikasi. Kami menerima masukan Anda dengan kasus penggunaan tertentu.

Apakah billingerror berasal dari memulai alur pembelian atau dari hasil pembayaran?

Ini adalah respons hasil pembayaran. LaunchPurchaseFlow akan segera ditampilkan tanpa memblokir, tetapi Anda harus memproses callback untuk mengetahui kapan callback selesai dan untuk mengambil hasilnya.

Apakah ada cara membuat pintasan untuk membuka game secara langsung?

Anda dapat menggunakan URI berikut untuk membuka game secara langsung:

googleplaygames://launch/?pid=2&id=com.company.gamename

URI mendukung pendeteksian apakah klien Google Play Game di PC dibuka. Jika klien tidak terbuka, klien Google Play Game akan terbuka sebelum game/peluncur berjalan. Anda perlu mengelola game/peluncur untuk mencegah beberapa instance berjalan.

QueryProductDetails Batas permintaan API

Jumlah maksimum produk yang dapat dikueri dalam satu panggilan ke API QueryProductDetails adalah 50. Jika Anda melebihi batas ini, Anda harus membagi permintaan menjadi beberapa panggilan.

Mengapa game saya tidak diinstal atau muncul setelah saya mengupload Windows App Bundle (WAB) pertama saya?

Jika game Anda diaktifkan tanpa versi PC yang sudah ada sebelumnya ("WAB pertama kali"), sistem dapat otomatis menempatkannya ke status penahanan Publikasi Terkelola. Hal ini terjadi karena tidak ada tolok ukur yang ada untuk diperbarui. Untuk merilis WAB sepenuhnya dan membuat game tersedia untuk diinstal, Anda harus membuka Konsol Google Play dan menjalankan tindakan publikasi yang diperlukan secara manual (misalnya, klik "Publikasikan perubahan").

Bagaimana cara menangani inisialisasi jika Google Play Game meluncurkan peluncur game pihak ketiga?

Anda tidak diwajibkan untuk mengintegrasikan SDK secara langsung ke peluncur Anda. Namun, Anda harus meneruskan semua argumen command line yang diterima oleh peluncur dari klien Google Play Game langsung ke proses turunan yang di-spawn (dapat dieksekusi game). Jika inisialisasi gagal (misalnya, dengan menampilkan kActionRequiredShutdownClientProcess), semua proses termasuk peluncur harus dihentikan agar Google Play Game dapat mencoba memulihkan dan meluncurkan ulang game secara otomatis. Untuk mengetahui detail selengkapnya, lihat Langkah 5 dalam panduan penyiapan.

Apakah error waktu tunggu dimaksudkan jika pengguna menutup browser tanpa membayar selama alur pembelian?

Ya, ini adalah masalah umum dan perilaku yang dimaksudkan dalam alur berbasis browser saat ini. Google sedang berupaya mengembangkan fitur pembelian yang lancar (berbasis WebView) yang akan menjaga alur pembayaran tetap berada di dalam game dan menyelesaikan ketidaknyamanan karena waktu tunggu ini.

Apakah native PC SDK mendukung karakter multibyte dalam file sertifikasi (PEM)?

Ya, SDK mendukung karakter multibyte untuk sertifikasi.

Parameter apa yang diperlukan saat memanggil BillingClient::QueryPurchases atau BillingClient::LaunchPurchaseFlow?

Fungsi ini menerima QueryPurchasesContinuation, yang merupakan callback fungsi dengan tanda tangan std::function<void(QueryPurchasesResult)>. Callback meneruskan hasil kepada Anda dengan semua ProductPurchaseDetails. Informasi ini tersedia di file header SDK dalam file includes/billing/models.h.

launch_purchase_flow_result yang dihasilkan memiliki fungsi ok() dan code(). Fungsi ok() menampilkan apakah alur berhasil. Fungsi code() menampilkan enum BillingError (includes/billing/enums.h), yang memiliki 10 kemungkinan kasus error, seperti dibatalkan oleh pengguna atau error jaringan.

Apakah panggilan BillingClient::LaunchPurchaseFlow() mendukung penerusan nomor pesanan kustom?

Dalam desain SDK saat ini, tidak ada cara untuk meneruskan payload Anda sendiri. Namun, Anda dapat memberikan kombinasi obfuscated_account_id dan obfuscated_profile_id. Anda dapat memberikan tidak ada, hanya satu, atau keduanya.

Kolom offer_token wajib diisi dan menentukan penawaran pembelian yang dicoba dibeli pengguna dalam alur checkout. Untuk saat ini, setiap SKU di Google Play memiliki tepat satu penawaran (misalnya, beli satu item seharga Rp100.000). Pada masa mendatang, tim penagihan Play akan memberikan dukungan untuk beberapa penawaran.

Untuk memastikan metadata teratribusi saat terjadi gangguan alur pembelian, simpan metadata di server backend sebelum meluncurkan dialog pembelian dan kaitkan dengan ID akun pengguna Anda, SKU yang dibeli, dan stempel waktu saat ini. Untuk mengetahui informasi selengkapnya, lihat Mengaitkan pembelian dengan data internal.

Apakah integrasi Play Install Referrer berfungsi?

SDK versi terbaru (25.5.409.0 dan yang lebih tinggi) mendukung Play Install Referrer API. Untuk mengetahui informasi selengkapnya, lihat Play Install Referrer API.

Apakah pengguna harus login secara terpisah untuk setiap game agar dapat melakukan pembelian?

Akun latar depan di Google Play Game digunakan untuk setiap sesi game, sehingga Anda tidak perlu login lagi. Akun yang Anda gunakan di Google Play Game saat sesi game dimulai adalah akun yang digunakan untuk membuat panggilan API. Saat meluncurkan alur pembelian di browser, Anda harus login dan menggunakan akun yang sama dengan sesi game. Jika pengguna login dengan akun lain, alur web akan meminta mereka untuk beralih akun.

Apa prasyarat untuk beralih dari penagihan Google dengan OAuth ke penagihan Google native dengan DLL?

Game dapat terus menggunakan login OAuth dengan Google untuk mengelola akun yang login, tetapi Google merekomendasikan agar Anda berhenti menggunakan API penagihan REST lama. Beralih dari REST Billing API (dengan login OAuth2) ke alur SDK dapat menjadi operasi yang ditandai fitur, sehingga keduanya dapat berjalan bersama selama jangka waktu tertentu saat game beralih.

Apakah API permintaan pembayaran (LaunchPurchaseFlow) diproses melalui browser web?

Ya, untuk saat ini, pemrosesannya dilakukan melalui browser. Google berencana menyelesaikan seluruh alur tanpa keluar dari game yang dapat dicapai melalui SDK.

Apakah parameter inisialisasi dapat digunakan kembali beberapa kali?

Hal ini dapat dilakukan selama klien Game Google Play berjalan dan informasi login valid. Namun, dalam skenario seperti yang dijelaskan dalam panduan, semua proses yang diluncurkan oleh game harus dihentikan saat pengguna menutup game atau game keluar karena kegagalan inisialisasi SDK, seperti kActionRequiredShutdownClientProcess.

Dapatkah Anda menggunakan kunci registri di HKEY_CURRENT_USER, bukan HKEY_LOCAL_MACHINE?

Anda harus membuat kunci registri berdasarkan hive root. Anda dapat menetapkan root hive sebagai HKEY_LOCAL_MACHINE atau HKEY_CURRENT_USER, bergantung pada tujuan dan sifat data Anda. Hive HKEY_LOCAL_MACHINE digunakan sebagai contoh dalam pedoman.

Dapatkah game mendukung SDK native dan sistem pembayaran lama secara bersamaan?

Sistem pembayaran beroperasi berdasarkan model alur ganda, bergantung pada versi biner game. Pengguna di build lama akan tetap menggunakan alur yang ada, dan pengguna di build baru akan beralih ke pembayaran berbasis SDK. Pengguna di kedua alur pembayaran dapat menggunakan aplikasi selama periode transisi.

Bagaimana cara mengupload WAB untuk pengujian internal?

Bagikan akun yang ada dalam daftar yang diizinkan kepada Google agar Google dapat mengaktifkannya untuk pengujian internal. Setelah Google memiliki daftar tersebut, Google akan memastikan bahwa mereka disertakan dalam proses aktivasi.

Di mana Anda menambahkan penguji baru?

Kontak Google Anda membuat grup email untuk setiap project PC, tempat Akun Google penguji harus ditambahkan. Hanya anggota grup email ini yang diizinkan untuk mendownload paket pengujian dalam Google Play Game.

Di mana paket PC resmi harus diupload sebelum peluncuran formal?

Anda dapat mengupload paket WAB di lokasi yang disebutkan dalam pertanyaan pertama. Namun, Anda tidak dapat memublikasikannya secara manual. Anda harus memberikan waktu UTC yang tepat (hingga jam) kepada staf backend Google. Kemudian, Google akan mengonfigurasi jadwal rilis dan memastikan aplikasi dipublikasikan tepat waktu.

Bagaimana cara menangani upgrade dan pemeliharaan setelah peluncuran resmi?

Upgrade dan pemeliharaan berikutnya harus diimplementasikan melalui peluncur Anda. Klien Google Play Game tidak mendukung fungsi update, sehingga peluncur harus dapat mengupdate game dan peluncur itu sendiri.

Apa saja persyaratan untuk peninjauan paket PC oleh Google?

Paket PC menjalani pemindaian malware, setelah itu peninjau hanya menguji proses penginstalan, startup yang berhasil, dan proses uninstal game.

Apakah semua API perlu diintegrasikan?

API lainnya tidak diperlukan, tetapi menawarkan manfaat tambahan. google::play::billing diperlukan untuk pembelian dalam aplikasi dan penjualan konten digital. google::play::games::recall diperlukan untuk melacak data rujukan guna membantu Anda memahami sumber traffic mana yang mengirimkan paling banyak pengguna untuk mendownload aplikasi Anda. google::play::games::integrity diperlukan untuk melindungi aplikasi Anda dari pelaku kejahatan dengan mendeteksi perangkat yang berpotensi berisiko dan emulator yang tidak dikenal.

Mengapa beberapa proses game dihentikan saat klien Google Play Game ditutup, sementara yang lain tidak?

Google tidak mengontrol subproses atau proses game yang sedang berjalan. Perilaku bergantung pada apakah game tersebut adalah game yang di-emulasi Android atau game PC native. Game yang di-emulasi diinstal di dalam lingkungannya sendiri, sehingga perilakunya sangat bergantung pada inisialisasi dan penonaktifan emulator.

Haruskah Anda menggunakan kemampuan uninstal Google Play Game atau penginstal kustom?

Google merekomendasikan penggunaan kemampuan uninstal Google Play Game.