Publikowanie instalatora

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

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

Zanim zaczniesz

Zintegruj pakiet SDK Gier Google Play ze swoją grą.

Spakuj grę jako plik WAB

Gry Google Play na PC wymagają, aby instalator gry został przesłany do Konsoli Google Play jako plik pakietu aplikacji na Windowsa (WAB). Aby utworzyć plik WAB:

  1. Pobierz narzędzie do publikowania w Google Play. Możesz uruchomić to narzędzie w wierszu poleceń systemu Windows lub w PowerShell.

  2. Utwórz plik konfiguracyjny publikowania w Google Play o dowolnej nazwie. Na przykład play_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 mieć co najmniej 2 segmenty (1 lub więcej kropek).
      • Każdy segment musi zaczynać się literą.
      • 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 we wszystkich przesłanych plikach WAB Twojej gry. Na przykład: 1.0, 1.0.1-beta, 2025.11.24, v1.rc1.

      • INSTALLER_REQUIRES_ELEVATION: wskazuje, czy do ukończenia procesu instalacji plik wykonywalny instalatora musi być uruchomiony jako administrator.

        • „true”: uruchom plik wykonywalny jako administrator.
        • „false”: uruchom plik wykonywalny jako bieżący użytkownik.
      • ACCEPTS_COMMAND_LINE_ARGUMENTS: wartość logiczna wskazująca, czy instalator może przyjmować 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 instalatora w pliku WAB. Ta ś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 podpisać plik wykonywalny instalatora gry za pomocą kodu authenticode i podpisu kodu.

      • UNIQUE_REGISTRY_PATH: ścieżka klucza rejestru systemu Windows. Tę ścieżkę należy podać względem gałęzi rejestru, takiej jak HKEY_LOCAL_MACHINE lub HKEY_CURRENT_USER; nie uwzględniaj nazwy gałęzi w ciągu ścieżki. Jeśli na przykład instalator zapisuje dane w HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName, podaj tylko Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName. Gry Google Play na PC przeszukują tę ścieżkę w wielu gałęziach, aby znaleźć wartości wymagane do uruchomienia i odinstalowania.

        Plik wykonywalny określony w INSTALLER_PATH musi utworzyć te klucze rejestru. Zanim instalacja się zakończy, należy utworzyć te pary klucz-wartość określone w installation-path-registry-location, launch-path-registry-location i uninstall-path-registry-location. W przykładzie użyto InstallLocation i UninstallString, ale w tych tagach <value-name> możesz podać dowolną nazwę, o ile instalator utworzy odpowiednie wpisy w rejestrze dla wszystkich 3. 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ść we wpisie rejestru określonym 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 jest aplikacją 32-bitową działającą w 64-bitowym systemie Windows, system Windows używa przekierowania rejestru do zapisywania wpisów w rejestrze w HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node. Na przykład zapis w 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 przy każdym uruchomieniu.

        • „true”: uruchom plik wykonywalny jako administrator.
        • „false”: uruchom plik wykonywalny jako bieżący użytkownik.
      • RELATIVE_PATH_TO_LAUNCHER_EXE: ścieżka do programu uruchamiającego lub pliku wykonywalnego 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 nazywa się mygame.exe i znajduje się w {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 do ukończenia procesu odinstalowywania plik wykonywalny dezinstalatora musi być uruchomiony jako administrator.

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

    Przykładowy plik konfiguracyjny publikowania w Google Play

    Załóżmy, że masz grę o nazwie MyGame, instalator gry game_installer.exe i program uruchamiający grę launcher.exe. W przykładzie pokazujemy też, jak używać CDATA. Plik play_publishing_config.xml będzie wyglądać tak:

    <?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 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 Play playpublishingtool.exe, konfigurację publikowania w Google Play play_publishing_config.xml i instalator gry game_installer.exe.

    Bieżący katalog roboczy powinien wyglądać tak:

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

    Aby utworzyć plik WAB o nazwie np. installer_bundle.wab w tym samym katalogu, polecenie będzie wyglądać tak:

    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, zobaczysz dane wyjściowe podobne do tych:

    Successfully built the installer bundle at installer_bundle.wab
    

    Znajdź plik WAB w tym folderze:

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

    Włączanie automatycznego odtwarzania po zainstalowaniu natywnych gier 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łynną obsługę, ponieważ gracz jest przenoszony bezpośrednio do gry, w pełni uwierzytelniony 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 innej firmy musi obsługiwać argumenty wiersza poleceń.

    Instrukcje krok po kroku

    1. Włącz automatyczne odtwarzanie w konfiguracji publikowania w Google Play

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

      Przykład fragmentu zawartości pliku 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
      • Działanie: gdy ustawisz wartość „true”, Gry Google Play dołączą token sesji do argumentów wiersza poleceń podczas wykonywania instalatora.
    2. Obsługa tokena sesji w instalatorze

      Gdy klient Gier Google Play uruchomi instalator, otrzyma on 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.
      • Propagacja: 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 korzysta z pakietu SDK.
      • Uruchamianie: użyj podanego tokena sesji, aby uruchomić plik wykonywalny gry. Dzięki temu gra będzie działać w uwierzytelnionym kontekście Gier Google Play. W przeciwnym razie funkcja InitializeSDK się nie powiedzie i gracz będzie musiał ponownie uruchomić grę.
    3. Obsługa błędów i rezerwowe rozwiązania

      • Pobieranie tokena: jeśli z jakiegoś powodu Gry Google Play nie mogą 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 kontynuować standardową instalację. Nie należy uruchamiać automatycznie gry, ponieważ funkcja InitializeSDK i tak się nie powiedzie.
      • Błędy instalatora: odpowiadasz za odporność i obsługę błędów instalatora oraz sekwencji uruchamiania gry, którą inicjuje. Gry Google Play nie mają kontroli nad procesami, które występują w instalatorze po jego uruchomieniu.

Publikowanie gry za pomocą Konsoli Play

Po utworzeniu pliku WAB gry prześlij go do Konsoli Play i zarządzaj jego ustawieniami oraz wymaganiami. Aby opublikować grę:

Dodaj format Gier Google Play na PC

Ten krok jest wymagany tylko przy pierwszej publikacji gry.

  1. W Konsoli Play w menu po lewej stronie 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 odpowiadający formatowi 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 potem w oknie potwierdzenia ponownie kliknij Zapisz.

Włącz publikowanie zaplanowane

Aby włączyć publikowanie zaplanowane:

  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 w przypadku ścieżki.
  3. Kliknij Zapisz.

Prześlij plik WAB

Aby przesłać plik WAB:

  1. W Konsoli Play w menu po lewej stronie kliknij Testowanie i publikowanie > 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. Wybierz Użyj dedykowanej ścieżki dla gry z pakietu aplikacji dla systemu Windows.
  6. Kliknij Zapisz.
  7. W Konsoli Play w menu po lewej stronie kliknij Testowanie i publikowanie > Produkcyjna (link bezpośredni).
  8. Na stronie Produkcyjna w menu formatów 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 Konsoli Play w menu po lewej stronie kliknij Rozwój > Obecność w sklepie > Ustawienia sklepu (link bezpośredni).
  2. W sekcji Wymagania dotyczące komputera po prawej stronie kliknij przycisk Edytuj.
  3. Zaktualizuj pola i kliknij Zapisz.

Skonfiguruj grafikę zakupu w aplikacji

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

  1. W Konsoli Play w menu po lewej stronie kliknij Rozwój > Obecność w sklepie > Informacje o aplikacji(link bezpośredni).
  2. W sekcji Domyślne informacje o aplikacji na karcie Informacje po prawej stronie kliknij przycisk -> (strzałka). Spowoduje to przejście na stronę Domyślne informacje o aplikacji.
  3. Przejdź do sekcji Gry Google Play na PC i prześlij obraz w polu Grafika zakupu w aplikacji w Grach Google Play na PC (Windows).
  4. Kliknij Zapisz.

Wyślij zmiany do sprawdzenia

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

Gdy zespół sprawdzający zatwierdzi Twoje zmiany, gra będzie widoczna w Google Play.