Publikasi Penginstal

Dokumen ini menunjukkan cara memublikasikan game Anda di Google Play Game di PC menggunakan penginstal game Anda.

Dengan alur Penginstalan oleh Developer, penginstal game yang Anda berikan harus mengelola penginstalan, update, dan peng-uninstalan game.

Sebelum memulai

Integrasikan Google Play Game SDK ke dalam game Anda.

Mengemas game Anda sebagai file WAB

Google Play Game di PC mengharuskan penginstal game Anda diupload ke Konsol Google Play sebagai file app bundle Windows (WAB). Untuk membuat file WAB, ​ikuti langkah-langkah berikut:

  1. Download alat publikasi Play. Anda dapat menjalankan alat ini di command line Windows atau PowerShell.

  2. Buat file konfigurasi penerbitan Play, dengan nama apa pun. Misalnya, play_publishing_config.xml dengan format berikut:

    <?xml version="1.0" encoding="UTF-8"?>
    <play-publishing-config version="1.0">
      <application>
        <package-name>PACKAGE_NAME</package-name>
        <version-name>VERSION_NAME</version-name>
      </application>
      <installer requiresElevation=INSTALLER_REQUIRES_ELEVATION acceptsCommandLineArguments=ACCEPTS_COMMAND_LINE_ARGUMENTS>
        <path>INSTALLER_PATH</path>
        <installation-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
      <launcher requiresElevation=LAUNCHER_REQUIRES_ELEVATION>
        <launch-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <filename>RELATIVE_PATH_TO_LAUNCHER_EXE</filename>
          <arguments>LAUNCHER_ARGS_IF_ANY</arguments>
        </executable-invocation>
      </launcher>
      <uninstaller requiresElevation=UNINSTALLER_REQUIRES_ELEVATION>
        <uninstall-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>

    Ganti kode berikut:

    • PACKAGE_NAME: Nama paket untuk game Anda. Ini adalah ID unik yang akan dikaitkan dengan game Anda di Google Play. Misalnya, com.yourcompany.yourgame. Nama paket harus mematuhi aturan berikut:
      • Nama harus memiliki setidaknya dua bagian (satu atau beberapa titik).
      • Setiap bagian harus diawali dengan huruf.
      • Semua karakter harus berupa alfanumerik atau garis bawah ([a-zA-Z0-9_]).
    • VERSION_NAME: String versi game. Ini dapat berupa string arbitrer, tetapi harus unik di semua WAB yang diupload untuk game Anda. Misalnya: 1.0, 1.0.1-beta, 2025.11.24, v1.rc1.

      • INSTALLER_REQUIRES_ELEVATION: Menunjukkan apakah file yang dapat dieksekusi penginstal perlu dijalankan sebagai Administrator untuk menyelesaikan proses penginstalan.

        • "true": Jalankan file yang dapat dieksekusi sebagai Administrator.
        • "false": Jalankan file yang dapat dieksekusi sebagai pengguna saat ini.
      • ACCEPTS_COMMAND_LINE_ARGUMENTS: Nilai boolean yang menunjukkan apakah penginstal dapat menerima argumen command line untuk mengaktifkan fitur putar otomatis. Kolom ini bersifat opsional dan nilai defaultnya adalah salah (false). Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Putar Otomatis.

      • INSTALLER_PATH: Jalur ke file penginstal Anda dalam WAB. Jalur ini dapat berupa absolut atau relatif ke direktori induk konfigurasi penerbitan Play. Contoh, path\to\test\installer. Jangan lupa untuk menggunakan authenticode dan penandatanganan kode untuk menandatangani file yang dapat dieksekusi penginstal game Anda.

      • UNIQUE_REGISTRY_PATH: Jalur kunci registri Windows. Jalur ini harus diberikan relatif terhadap sarang registri seperti HKEY_LOCAL_MACHINE atau HKEY_CURRENT_USER; jangan sertakan nama sarang dalam string jalur. Misalnya, jika penginstal Anda menulis ke HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName, tentukan hanya Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName. Google Play Game di PC menelusuri jalur ini di beberapa sarang untuk menemukan nilai yang diperlukan untuk peluncuran dan penghapusan instalasi.

        File yang dapat dieksekusi yang ditentukan dalam INSTALLER_PATH harus membuat kunci registry ini. Sebelum penginstalan selesai, pasangan nama nilai dan kunci registry yang ditentukan di bagian installation-path-registry-location, launch-path-registry-location, dan uninstall-path-registry-location harus dibuat. Meskipun contohnya menggunakan InstallLocation dan UninstallString, Anda dapat menentukan nama apa pun dalam tag <value-name> ini, asalkan program penginstal Anda membuat entri registry yang sesuai untuk ketiganya. Google Play Game di PC menggunakan nilai ini untuk meluncurkan dan meng-uninstal game. Jika game Anda menggunakan peluncur, jalur ini harus mengarah ke kunci registry yang berisi informasi penginstalan untuk peluncur, dan nilai dalam entri registry yang ditentukan oleh launch-path-registry-location harus mengarah ke direktori peluncur.

        Jalur ini harus unik di komputer pengguna. Misalnya: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName.

        Jika penginstal game Anda adalah aplikasi 32-bit yang berjalan di Windows 64-bit, Windows menggunakan pengalihan registry untuk menulis entri registry di HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node. Misalnya, penulisan ke HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName dialihkan ke HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName.

      • LAUNCHER_REQUIRES_ELEVATION: Menunjukkan apakah peluncur atau file game yang dapat dieksekusi perlu dijalankan sebagai Administrator setiap kali diluncurkan.

        • "true": Jalankan file yang dapat dieksekusi sebagai Administrator.
        • "false": Jalankan file yang dapat dieksekusi sebagai pengguna saat ini.
      • RELATIVE_PATH_TO_LAUNCHER_EXE: Jalur ke peluncur atau file game yang dapat dieksekusi dalam direktori penginstalan. Ini harus menyertakan nama file peluncur atau game yang dapat dieksekusi. Misalnya, jika file peluncur atau game Anda bernama mygame.exe dan terletak di {INSTALL_DIR}\Resources\mygame.exe, Anda harus memasukkan Resources\mygame.exe

      • LAUNCHER_ARGS_IF_ANY: Argumen command line apa pun yang perlu diteruskan ke peluncur atau game Anda. Entri ini bersifat opsional.

        • Jika ada beberapa argumen yang terkait dengan file yang dapat dieksekusi, argumen tersebut harus dipisahkan dengan spasi.
        • Argumen harus diawali dengan '--' atau '-', jika diperlukan oleh file yang dapat dieksekusi.
      • UNINSTALLER_REQUIRES_ELEVATION: Menunjukkan apakah file yang dapat dieksekusi uninstaller perlu dijalankan sebagai Administrator untuk menyelesaikan proses uninstalasi.

        • "true": Jalankan file yang dapat dieksekusi sebagai Administrator.
        • "false": Jalankan file yang dapat dieksekusi sebagai pengguna saat ini.

    Contoh file konfigurasi publikasi Play

    Pertimbangkan game bernama MyGame, dengan penginstal game game_installer.exe, peluncur game launcher.exe. Contoh ini juga menunjukkan cara menggunakan CDATA. Berikut tampilan play_publishing_config.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <play-publishing-config version="1.0">
      <application>
        <!-- The package name for your game. -->
        <package-name>com.mycompany.mygame</package-name>
        <!-- The game's version string. -->
        <version-name>1.0.0</version-name>
      </application>
      <!-- If requiresElevation is "true", installer runs as Administrator
           and a UAC prompt is displayed. This is required for system-wide
           installs (e.g., to Program Files) or writing to HKLM. -->
      <!-- If acceptsCommandLineArguments is "true", the installer must
           be able to accept command-line arguments to enable the auto-play
           feature. -->
      <installer requiresElevation="true" acceptsCommandLineArguments="true">
        <!-- Path to your installer executable. -->
        <path>game_installer.exe</path>
        <!-- The registry location where the installer writes the installation path. -->
        <installation-path-registry-location>
          <!-- Registry key path (typically under HKLM or HKCU).
               game_installer.exe MUST create this key. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- game_installer.exe, specified in <path>, creates the registry
               value called 'InstallLocation' within
               SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey
               by the time it exits. -->
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
    
      <!-- If requiresElevation is "true", launcher runs as Administrator
           and a UAC prompt is displayed on every game launch. -->
      <launcher requiresElevation="true">
        <!-- Specifies the registry location where Google Play Games reads the installation path
             in order to launch the game. -->
        <launch-path-registry-location >
          <!-- Registry key path (typically under HKLM or HKCU) where
               the launch path can be found. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- Google Play Games reads the installation directory from this
               registry value, for example InstallLocation, to launch the game. -->
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <!-- Game executable or launcher filename, relative to the
               directory path specified in the InstallLocation registry value. -->
          <filename>launcher.exe</filename>
          <!-- Optional arguments to pass to the executable.
               CDATA is used here to avoid issues with special characters
               like & or >. -->
          <arguments><![CDATA[arg1&arg2>arg3]]></arguments>
        </executable-invocation>
      </launcher>
    
      <!-- If requiresElevation is "true", uninstaller runs as
           Administrator and a UAC prompt is displayed for uninstall. -->
      <uninstaller requiresElevation="true">
        <!-- Registry key where Google Play Games finds the
             uninstallation command. -->
        <uninstall-path-registry-location>
          <!-- Registry key path (typically under HKLM or HKCU) where
               uninstall command can be found. -->
          <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey</key-name>
          <!-- game_installer.exe also creates the registry value, for example, 'UninstallString'
               within SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MySystemWideUniqueKey,
               containing the command Google Play Games executes to uninstall
               the game. -->
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>
    
  3. Jalankan alat publikasi Play di command line Windows atau Powershell.

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH
    

    Untuk menimpa file WAB yang ada dengan nama yang sama, gunakan argumen --force.

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH --force
    

    Ganti kode berikut:

    • PLAY_PUBLISHING_CONFIG_PATH: Jalur ke konfigurasi publikasi Play. Misalnya, path\to\play_publishing_config.xml.
    • WAB_OUTPUT_PATH: Jalur ke file WAB. Misalnya, path\to\output_bundle.wab.

    Cara menggunakan alat publikasi Play

    Anggap saja Anda memiliki biner alat publikasi Play playpublishingtool.exe, konfigurasi publikasi Play play_publishing_config.xml, dan penginstal game game_installer.exe di direktori kerja saat ini.

    Direktori kerja Anda saat ini akan terlihat seperti ini:

    .\
    ├── game_installer.exe
    ├── play_publishing_config.xml
    ├── playpublishingtool.exe
    

    Untuk membuat WAB dengan nama, misalnya, installer_bundle.wab di direktori yang sama, perintahnya akan terlihat seperti:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab
    

    Dengan argumen --force, perintahnya akan terlihat seperti:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab --force
    

    Jika berhasil, Anda akan melihat output yang mirip dengan berikut ini:

    Successfully built the installer bundle at installer_bundle.wab
    

    Temukan file WAB di folder:

      .\
      ├── game_installer.exe
      ├── installer_bundle.wab
      ├── play_publishing_config.xml
      ├── playpublishingtool.exe
    

    Mengaktifkan Putar Otomatis setelah penginstalan Game Native PC Anda (Opsional)

    Google Play Game di PC memungkinkan Anda mengaktifkan fitur "putar otomatis", yang otomatis meluncurkan game Anda segera setelah proses penginstalan selesai. Fitur ini memberikan pengalaman pengguna yang lancar dengan mengalihkan pemain langsung ke dalam game, yang diautentikasi sepenuhnya dalam ekosistem Google Play Game di PC.

    Cara kerjanya

    Saat Anda mengaktifkan fitur, Google Play Game di PC akan meneruskan token sesi ke proses penginstal pihak ketiga (3P) Anda menggunakan argumen command line. Kemudian, penginstal Anda bertanggung jawab untuk mengekstrak token ini dan menggunakannya untuk meluncurkan file yang dapat dieksekusi game dalam konteks yang diautentikasi.

    Prasyarat

    Untuk menggunakan fitur ini, penginstal pihak ketiga Anda harus dapat menangani argumen command line.

    Langkah-Langkah Penerapan

    1. Mengaktifkan Putar Otomatis di Konfigurasi Publikasi Play

      Untuk mengaktifkan fitur ini, tambahkan atribut acceptsCommandLineArguments ke elemen <installer> di play_publishing_config.xml Anda.

      Contoh cuplikan buku dari konten play_publishing_config.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>
      • Atribut: acceptsCommandLineArguments
      • Jenis: Boolean
      • Default: false
      • Perilaku: Jika Anda menyetelnya ke benar (true), GPG akan menambahkan token sesi ke argumen command line saat menjalankan penginstal Anda.
    2. Menangani Token Sesi di Penginstal Anda

      Saat peluncuran penginstal oleh klien GPG, penginstal akan menerima token sesi sebagai argumen command line.

      • Format Argumen: --g_session_token=<TOKEN>

      Yang harus Anda lakukan:

      • Ekstraksi: Penginstal Anda harus mengurai argumen command line untuk mengambil string token.
      • Penyebaran: Jika alur penginstalan Anda melibatkan peluncuran proses game atau peluncur sekunder, penginstal Anda bertanggung jawab untuk meneruskan token sesi secara aman ke proses game akhir yang menggunakan SDK.
      • Peluncuran: Gunakan token sesi yang diberikan untuk memulai file yang dapat dieksekusi game. Hal ini memastikan game berjalan dalam konteks GPG yang diautentikasi. Jika tidak, InitializeSDK akan gagal dan pemain harus memulai ulang game Anda.
    3. Penanganan Error dan Penggantian

      • Pengambilan Token: Jika karena alasan apa pun GPG tidak dapat membuat atau meneruskan token sesi (misalnya, kegagalan pembuatan token), proses penginstalan akan tetap dilanjutkan. Namun, penginstal Anda akan diluncurkan tanpa argumen --g_session_token.
      • Ketahanan: Penginstal Anda harus dirancang untuk menangani skenario saat token sesi tidak ada. Dalam kasus seperti itu, penginstal harus melanjutkan penginstalan standar; Anda tidak boleh memicu peluncuran game otomatis karena InitializeSDK akan gagal.
      • Error Penginstal: Anda bertanggung jawab atas keandalan dan penanganan error penginstal serta urutan peluncuran game yang dimulainya. GPG tidak memiliki kontrol atas proses yang terjadi dalam penginstal setelah diluncurkan.

Memublikasikan game menggunakan Konsol Play

Setelah berhasil membuat WAB untuk game Anda, upload ke Konsol Play dan kelola setelan serta persyaratannya. Ikuti langkah-langkah untuk memublikasikan game Anda:

Menambahkan faktor bentuk Google Play Game di PC

Langkah ini hanya diperlukan saat Anda memublikasikan game untuk pertama kalinya.

  1. Di Konsol Play pada menu kiri, pilih Pengujian dan rilis > Penyiapan > Setelan lanjutan (link langsung).
  2. Buka tab Faktor bentuk, lalu tambahkan Google Play Games on PC dari menu drop-down + Tambahkan faktor bentuk.

  3. Klik tombol Kelola yang sesuai dengan faktor bentuk Google Play Game di PC di sisi kanan.

  4. Pilih opsi Gunakan jalur khusus untuk game app bundle Windows Anda.

  5. Klik Simpan, lalu klik Simpan lagi pada dialog konfirmasi.

Mengaktifkan Publikasi Terkelola

Untuk mengaktifkan Penerbitan terkelola, ikuti langkah-langkah berikut.

  1. Di halaman Ringkasan Publikasi, di bagian Publikasi Terkelola, klik Aktifkan Publikasi Terkelola.
  2. Jendela dialog akan muncul. Beralih ke Publikasi terkelola aktif untuk jalur.
  3. Klik Simpan.

Upload file WAB

Untuk mengupload file WAB, ikuti langkah-langkah berikut:

  1. Di Konsol Play pada menu kiri, pilih Uji dan rilis > Setelan lanjutan (link langsung).
  2. Di halaman Setelan lanjutan, klik tab Faktor bentuk.
  3. Di tab Faktor bentuk, klik + Tambahkan faktor bentuk, lalu pilih Google Play Game di PC untuk ditambahkan.
  4. Di bagian Google Play Game di PC, klik Kelola.
  5. Pilih Gunakan jalur khusus untuk game app bundle Windows Anda.
  6. Klik Simpan.
  7. Di Konsol Play pada menu kiri, pilih Uji dan rilis > Produksi (link langsung).
  8. Di halaman Produksi, pilih Khusus Google Play Game di PC (Windows) dari drop-down faktor bentuk.
  9. Di tab Windows app bundle, klik Edit lalu upload file WAB.

Mengonfigurasi persyaratan PC Windows

Untuk mengonfigurasi persyaratan PC Windows:

  1. Di Konsol Play pada menu kiri, pilih Mendorong pertumbuhan pengguna > Keberadaan di Store > Setelan Store (link langsung).
  2. Di bagian Persyaratan PC, klik tombol Edit di sisi kanan.
  3. Perbarui kolom, lalu klik Simpan.

Mengonfigurasi grafis pembelian dalam aplikasi

Ini adalah langkah opsional. Untuk mengonfigurasi grafis pembelian dalam aplikasi:

  1. Di Konsol Play pada menu kiri, pilih Kembangkan pengguna > Keberadaan di Store > Listingan Play Store(link langsung).
  2. Di bagian listingan Google Play Store default di tab Listingan, klik tombol -> (panah) di sisi kanan. Anda akan diarahkan ke halaman listingan Google Play Store default.
  3. Buka bagian Google Play Game di PC dan upload gambar di Gambar pembelian dalam aplikasi Google Play Game di PC (Windows).
  4. Klik Simpan.

Kirim perubahan untuk ditinjau

  1. Di Konsol Play pada menu kiri, pilih Ringkasan publikasi.
  2. Di bagian Perubahan belum dikirim untuk ditinjau, klik Kirim perubahan untuk ditinjau.

Setelah tim Peninjauan menyetujui perubahan Anda, game Anda akan dapat ditemukan di Google Play.