Publikowanie instalatora

Z tego dokumentu dowiesz się, jak opublikować grę w Grach Google Play na PC za pomocą instalatora gry.

W przypadku procesu instalacji przez dewelopera instalator gry, który udostępniasz, musi zarządzać instalacją, aktualizacją i odinstalowywaniem gry.

Zanim zaczniesz

Zintegruj pakiet SDK usług gier Google Play ze swoją grą.

Pakowanie gry jako pliku WAB

Gry Google Play na PC wymagają przesłania instalatora gry do Konsoli Play jako pliku pakietu aplikacji na Windowsa (WAB). Aby utworzyć plik WAB:

  1. Pobierz narzędzie do publikowania w Google Play. To narzędzie możesz uruchomić w wierszu poleceń systemu Windows lub w powłoce PowerShell.

  2. Utwórz plik konfiguracji publikowania w Google Play o dowolnej nazwie. Na przykładplay_publishing_config.xml w tym formacie:

    <?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>

    Zastąp następujące elementy:

    • PACKAGE_NAME: nazwa pakietu gry. Jest to unikalny identyfikator, który będzie powiązany z Twoją grą w Google Play. Na przykład: com.yourcompany.yourgame. Nazwa pakietu musi być zgodna z tymi regułami:
      • Musi zawierać co najmniej 2 segmenty (co najmniej 1 kropkę).
      • Każdy segment musi zaczynać się od litery.
      • Wszystkie znaki muszą być alfanumeryczne lub podkreśleniem ([a-zA-Z0-9_]).
    • VERSION_NAME: ciąg znaków wersji gry. Może to być dowolny ciąg znaków, ale musi być unikalny wśród wszystkich przesłanych plików WAB w przypadku Twojej gry. Przykłady: 1.0, 1.0.1-beta, 2025.11.24, v1.rc1.

      • INSTALLER_REQUIRES_ELEVATION: wskazuje, czy plik wykonywalny instalatora musi być uruchomiony jako administrator, aby zakończyć proces instalacji.

        • „true”: uruchom plik wykonywalny jako administrator.
        • „false”: uruchom plik wykonywalny jako bieżący użytkownik.
      • ACCEPTS_COMMAND_LINE_ARGUMENTS: wartość logiczna, która określa, czy instalator może akceptować argumenty wiersza poleceń, aby włączyć funkcję automatycznego odtwarzania. Jest to opcjonalne, a wartość domyślna to false. Więcej informacji znajdziesz w artykule Włączanie automatycznego odtwarzania.

      • INSTALLER_PATH: Ścieżka do pliku instalacyjnego w WAB. Ścieżka może być bezwzględna lub względna w stosunku do katalogu nadrzędnego konfiguracji publikowania w Google Play. Na przykład:path\to\test\installer. Pamiętaj, aby używać authenticode i podpisywania kodu do podpisywania pliku wykonywalnego instalatora gry.

      • UNIQUE_REGISTRY_PATH: ścieżka klucza rejestru systemu Windows. Ścieżka musi być podana względem gałęzi rejestru, np. HKEY_LOCAL_MACHINE lub HKEY_CURRENT_USER. Nie podawaj nazwy gałęzi w ciągu ścieżki. Jeśli na przykład instalator zapisze HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName, podaj tylko Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName. Gry Google Play na PC wyszukują tę ścieżkę w wielu gałęziach, aby znaleźć wartości wymagane do uruchomienia i odinstalowania.

        Plik wykonywalny określony w parametrze INSTALLER_PATH musi utworzyć te klucze rejestru. Przed zakończeniem instalacji należy utworzyć pary kluczy rejestru i nazw wartości określone w sekcjach installation-path-registry-location, launch-path-registry-locationuninstall-path-registry-location. W przykładzie użyto wartości InstallLocationUninstallString, ale w tych tagach <value-name> możesz podać dowolną nazwę, o ile instalator utworzy odpowiednie wpisy w rejestrze dla wszystkich 3 wartości. Gry Google Play na PC używają tych wartości do uruchamiania i odinstalowywania gry. Jeśli gra korzysta z programu uruchamiającego, ta ścieżka musi prowadzić do klucza rejestru zawierającego informacje o instalacji programu uruchamiającego, a wartość w pozycji rejestru określonej przez launch-path-registry-location musi prowadzić do katalogu programu uruchamiającego.

        Ta ścieżka musi być unikalna na komputerze użytkownika. Na przykład: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName.

        Jeśli instalator gry to aplikacja 32-bitowa działająca w 64-bitowym systemie Windows, system Windows używa przekierowania rejestru, aby zapisywać wpisy rejestru w folderze HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node. Na przykład zapis do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName jest przekierowywany do HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName.

      • LAUNCHER_REQUIRES_ELEVATION: wskazuje, czy program uruchamiający lub plik wykonywalny gry musi być uruchamiany jako administrator za każdym razem, gdy jest uruchamiany.

        • „true”: uruchom plik wykonywalny jako administrator.
        • „false”: uruchom plik wykonywalny jako bieżący użytkownik.
      • RELATIVE_PATH_TO_LAUNCHER_EXE: Ścieżka do pliku wykonywalnego programu uruchamiającego lub gry w katalogu instalacyjnym. Musi ona zawierać nazwę pliku wykonywalnego programu uruchamiającego lub gry. Jeśli na przykład plik programu uruchamiającego lub gry ma nazwę mygame.exe i znajduje się w folderze {INSTALL_DIR}\Resources\mygame.exe, musisz wpisać Resources\mygame.exe.

      • LAUNCHER_ARGS_IF_ANY: Argumenty wiersza poleceń, które należy przekazać do programu uruchamiającego lub gry. Ten wpis jest opcjonalny.

        • Jeśli z plikiem wykonywalnym jest powiązanych kilka argumentów, należy je rozdzielić spacją.
        • Argumenty muszą być poprzedzone znakiem „--” lub „-”, jeśli jest to wymagane przez plik wykonywalny.
      • UNINSTALLER_REQUIRES_ELEVATION: wskazuje, czy plik wykonywalny dezinstalatora musi być uruchomiony jako administrator, aby ukończyć proces dezinstalacji.

        • „true”: uruchom plik wykonywalny jako administrator.
        • „false”: uruchom plik wykonywalny jako bieżący użytkownik.

    Przykładowy plik konfiguracji publikowania w Google Play

    Rozważmy grę o nazwie MyGame, z instalatorem game_installer.exe i programem uruchamiającym launcher.exe. Przykład pokazuje też, jak używać CDATA. Oto jak będzie wyglądać symbol 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. Uruchom narzędzie do publikowania w Google Play w wierszu poleceń systemu Windows lub w powłoce PowerShell.

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

    Aby zastąpić istniejący plik WAB o tej samej nazwie, użyj argumentu --force.

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

    Zastąp następujące elementy:

    • PLAY_PUBLISHING_CONFIG_PATH: ścieżka do konfiguracji publikowania w Google Play. Na przykład: path\to\play_publishing_config.xml.
    • WAB_OUTPUT_PATH: ścieżka do pliku WAB. Na przykład: path\to\output_bundle.wab.

    Jak korzystać z narzędzia do publikowania w Google Play

    Załóżmy, że w bieżącym katalogu roboczym masz plik binarny narzędzia do publikowania w Google Playplaypublishingtool.exe, konfigurację publikowania w Google Playplay_publishing_config.xml i instalator grygame_installer.exe.

    Aktualny katalog roboczy powinien wyglądać tak:

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

    Aby utworzyć WAB o nazwie np. installer_bundle.wab w tym samym katalogu, użyj tego polecenia:

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

    Z argumentem --force polecenie będzie wyglądać tak:

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

    Jeśli operacja się powiedzie, powinny pojawić się dane wyjściowe podobne do tych:

    Successfully built the installer bundle at installer_bundle.wab
    

    Znajdź plik WAB w folderze:

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

    Włączanie automatycznego odtwarzania po zainstalowaniu gier natywnych na PC (opcjonalnie)

    Gry Google Play na PC umożliwiają włączenie funkcji „automatycznego odtwarzania”, która automatycznie uruchamia grę natychmiast po zakończeniu procesu instalacji. Ta funkcja zapewnia płynne wrażenia użytkownika, ponieważ przenosi go bezpośrednio do gry, w pełni uwierzytelnionej w ekosystemie Gier Google Play na PC.

    Jak to działa

    Gdy włączysz tę funkcję, Gry Google Play na PC przekażą token sesji do procesu instalatora innej firmy za pomocą argumentów wiersza poleceń. Instalator jest wtedy odpowiedzialny za wyodrębnienie tego tokena i użycie go do uruchomienia pliku wykonywalnego gry w uwierzytelnionym kontekście.

    Wymagania wstępne

    Aby korzystać z tej funkcji, instalator zewnętrzny musi obsługiwać argumenty wiersza poleceń.

    Etapy wdrażania

    1. Włączanie autoodtwarzania w konfiguracji publikowania w Google Play

      Aby włączyć tę funkcję, dodaj atrybut acceptsCommandLineArguments do elementu <installer> w play_publishing_config.xml.

      Przykład fragmentu treści 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>
      • Atrybut: acceptsCommandLineArguments
      • Typ: Boolean
      • Domyślny: false
      • Zachowanie: jeśli ustawisz tę wartość na „true”, GPG dołączy token sesji do argumentów wiersza poleceń podczas wykonywania instalatora.
    2. Obsługa tokena sesji w instalatorze

      Gdy instalator zostanie uruchomiony przez klienta Gier Google Play, otrzyma token sesji jako argument wiersza poleceń.

      • Format argumentu: --g_session_token=<TOKEN>

      Co musisz zrobić:

      • Wyodrębnianie: instalator musi przeanalizować argumenty wiersza poleceń, aby pobrać ciąg tokena.
      • Przekazywanie: jeśli proces instalacji obejmuje uruchomienie dodatkowego programu uruchamiającego lub procesu gry, instalator jest odpowiedzialny za bezpieczne przekazanie tokena sesji do końcowego procesu gry, który używa pakietu SDK.
      • Uruchomienie: użyj podanego tokena sesji, aby uruchomić plik wykonywalny gry. Dzięki temu gra będzie działać w uwierzytelnionym kontekście GPG. W przeciwnym razie funkcja InitializeSDK zakończy się niepowodzeniem i gracz będzie musiał ponownie uruchomić grę.
    3. Obsługa błędów i wersje zapasowe

      • Pobieranie tokena: jeśli z jakiegokolwiek powodu GPG nie może wygenerować ani przekazać tokena sesji (np. z powodu błędu generowania tokena), proces instalacji będzie kontynuowany. Instalator zostanie jednak uruchomiony bez argumentu --g_session_token.
      • Odporność: instalator powinien być zaprojektowany tak, aby obsługiwać sytuacje, w których token sesji jest nieobecny. W takich przypadkach instalator powinien przeprowadzić standardową instalację. Nie należy uruchamiać automatycznie gry, ponieważ funkcja InitializeSDK i tak zakończy się niepowodzeniem.
      • Błędy instalatora: ponosisz odpowiedzialność za niezawodność instalatora i obsługę błędów oraz za sekwencję uruchamiania gry, którą on inicjuje. GPG nie ma kontroli nad procesami, które zachodzą w instalatorze po jego uruchomieniu.

Publikowanie gry za pomocą Konsoli Play

Po utworzeniu WAB dla gry prześlij go do Konsoli Play i zarządzaj jego ustawieniami oraz wymaganiami. Aby opublikować grę, wykonaj te czynności:

Dodawanie formatu Gier Google Play na PC

Ten krok jest wymagany tylko przy pierwszej publikacji gry.

  1. W menu po lewej stronie w Konsoli Play kliknij Testowanie i publikowanie > Konfiguracja > Ustawienia zaawansowane (link bezpośredni).
  2. Otwórz kartę Formaty i dodaj Google Play Games on PC z menu + Dodaj format.

  3. Po prawej stronie kliknij przycisk Zarządzaj obok formatu Gry Google Play na PC.

  4. Wybierz opcję Użyj dedykowanej ścieżki dla gry z pakietu aplikacji dla systemu Windows.

  5. Kliknij Zapisz, a następnie w oknie potwierdzenia ponownie kliknij Zapisz.

Włączanie publikowania zaplanowanego

Aby włączyć publikowanie zarządzane, wykonaj te czynności.

  1. Na stronie Przegląd publikowanych zmian w sekcji Publikowanie zaplanowane kliknij Włącz publikowanie zaplanowane.
  2. Pojawi się okno dialogowe. Włącz publikowanie zaplanowane na ścieżce.
  3. Kliknij Zapisz.

Przesyłanie pliku WAB

Aby przesłać plik WAB, wykonaj te czynności:

  1. W menu po lewej stronie w Konsoli Play kliknij Testowanie i wdrażanie > Ustawienia zaawansowane (link bezpośredni).
  2. Na stronie Ustawienia zaawansowane kliknij kartę Formaty.
  3. Na karcie Formaty kliknij + Dodaj format i wybierz Gry Google Play na PC.
  4. W sekcji Gry Google Play na PC kliknij Zarządzaj.
  5. Kliknij Użyj dedykowanej ścieżki dla gry z pakietu aplikacji dla systemu Windows.
  6. Kliknij Zapisz.
  7. W menu po lewej stronie w Konsoli Play kliknij Testowanie i wdrażanie > Produkcyjna (link bezpośredni).
  8. Na stronie Wersja produkcyjna w menu formatu wybierz Tylko Gry Google Play na PC (Windows).
  9. Na karcie Pakiet aplikacji na Windowsa kliknij Edytuj i prześlij plik WAB.

Skonfiguruj wymagania dotyczące komputera z systemem Windows

Aby skonfigurować wymagania dotyczące komputera z systemem Windows:

  1. W menu po lewej stronie w Konsoli Play wybierz Zwiększanie liczby użytkowników > Obecność w sklepie > Ustawienia sklepu (link bezpośredni).
  2. W sekcji Wymagania dotyczące komputera kliknij przycisk Edytuj po prawej stronie.
  3. Zaktualizuj pola i kliknij Zapisz.

Konfigurowanie grafiki zakupu w aplikacji

Ten krok jest opcjonalny. Aby skonfigurować grafikę zakupu w aplikacji:

  1. W menu po lewej stronie w Konsoli Play wybierz Zwiększanie liczby użytkowników > Obecność w sklepie > Informacje o aplikacji(link bezpośredni).
  2. W sekcji Domyślne informacje o aplikacji na karcie Informacje kliknij przycisk -> (strzałka) po prawej stronie. Otworzy się strona Domyślne informacje o aplikacji.
  3. Przejdź do sekcji Gry Google Play na PC i prześlij obraz w sekcji Grafika zakupu w aplikacji w Grach Google Play na PC (Windows).
  4. Kliknij Zapisz.

Wyślij zmiany do sprawdzenia

  1. W menu po lewej stronie w Konsoli Play kliknij Przegląd publikowanych zmian.
  2. W sekcji Zmiany jeszcze niewysłane do sprawdzenia kliknij Wyślij zmiany do sprawdzenia.

Gdy zespół ds. weryfikacji zatwierdzi Twoje zmiany, gra będzie widoczna w Google Play.