インストーラの公開

このドキュメントでは、ゲーム インストーラを使用して PC 版 Google Play Games でゲームを公開する方法について説明します。

デベロッパー インストール フローでは、デベロッパーが提供するゲーム インストーラがゲームのインストール、更新、アンインストールを管理する必要があります。

始める前に

Google Play Games SDK をゲームに統合します。

ゲームを WAB ファイルとしてパッケージ化する

PC 版 Google Play Games では、ゲームのインストーラを Windows アプリバンドル(WAB)ファイルとして Google Play Console にアップロードする必要があります。WAB ファイルを作成する手順は次のとおりです。

  1. Google Play 公開ツールをダウンロードします。このツールは、Windows コマンドラインまたは PowerShell で実行できます。

  2. 任意の名前で Play パブリッシング構成ファイルを作成します。たとえば、次の形式の play_publishing_config.xml があります。

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

    次のように置き換えます。

    • PACKAGE_NAME: ゲームのパッケージ名。これは、Google Play でゲームに関連付けられる一意の識別子です。(例: com.yourcompany.yourgame)。パッケージ名は次のルールに準拠している必要があります。
      • 2 つ以上のセグメント(1 つ以上のドット)が必要
      • 各セグメントは文字で始まる必要がある
      • 使用できる文字は英数字とアンダースコア([a-zA-Z0-9_])のみ
    • VERSION_NAME: ゲームのバージョン文字列。任意の文字列を指定できますが、ゲーム用にアップロードされたすべての WAB で一意である必要があります。例: 1.01.0.1-beta2025.11.24v1.rc1

      • INSTALLER_REQUIRES_ELEVATION: インストール プロセスを完了するために、インストーラ実行可能ファイルを管理者として実行する必要があるかどうかを示します。

        • "true": 実行可能ファイルを管理者として実行します。
        • 「false」: 実行可能ファイルを現在のユーザーとして実行します。
      • INSTALLER_PATH: WAB 内のインストーラ ファイルのパス。このパスは、Play パブリッシング構成の親ディレクトリに対する絶対パスまたは相対パスにできます。例: path\to\test\installerAuthenticode とコード署名を使用して、ゲームのインストーラ実行可能ファイルに署名してください。

      • UNIQUE_REGISTRY_PATH: Windows レジストリ キーのパス。このパスは、HKEY_LOCAL_MACHINEHKEY_CURRENT_USER などのレジストリ ハイブを基準とした相対パスで指定する必要があります。パス文字列にハイブ名を含めないでください。たとえば、インストーラが HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName に書き込む場合は、Software\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName のみを指定します。PC 版 Google Play Games は、複数のハイブでこのパスを検索し、起動とアンインストールに必要な値を見つけます。

        INSTALLER_PATH で指定された実行可能ファイルは、これらのレジストリキーを作成する必要があります。インストールが完了する前に、installation-path-registry-locationlaunch-path-registry-locationuninstall-path-registry-location で指定されたレジストリ キーと値名のペアを作成する必要があります。この例では InstallLocationUninstallString を使用していますが、インストーラが 3 つすべてに対応するレジストリ エントリを作成する限り、これらの <value-name> タグに任意の名前を指定できます。PC 版 Google Play Games は、これらの値を使用してゲームを起動およびアンインストールします。ゲームがランチャーを使用している場合、このパスはランチャーのインストール情報を含むレジストリキーを指す必要があり、launch-path-registry-location で指定されたレジストリ エントリの値はランチャーのディレクトリを指す必要があります。

        このパスは、ユーザーのマシンで一意である必要があります。例: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName

        ゲーム インストーラが 64 ビット Windows で実行される 32 ビット アプリケーションの場合、Windows はレジストリ リダイレクトを使用して HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node の下にレジストリ エントリを書き込みます。たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName への書き込みは HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName にリダイレクトされます。

      • LAUNCHER_REQUIRES_ELEVATION: ランチャーまたはゲームの実行可能ファイルを起動するたびに管理者として実行する必要があるかどうかを示します。

        • "true": 実行可能ファイルを管理者として実行します。
        • 「false」: 実行可能ファイルを現在のユーザーとして実行します。
      • RELATIVE_PATH_TO_LAUNCHER_EXE: インストール ディレクトリ内のランチャーまたはゲームの実行可能ファイルへのパス。これには、ランチャーまたはゲームの実行可能ファイル名を含める必要があります。たとえば、ランチャーまたはゲームファイルの名前が mygame.exe で、{INSTALL_DIR}\Resources\mygame.exe にある場合、Resources\mygame.exe を指定する必要があります。

      • LAUNCHER_ARGS_IF_ANY: ランチャーまたはゲームに渡す必要があるコマンドライン引数。このエントリは省略可能です。

        • 実行可能ファイルに関連付けられた引数が複数ある場合は、スペースで区切る必要があります。
        • 実行可能ファイルで必要な場合は、引数の前に「--」または「-」を付加する必要があります。
      • UNINSTALLER_REQUIRES_ELEVATION: アンインストール プロセスを完了するために、アンインストーラ実行可能ファイルを管理者として実行する必要があるかどうかを示します。

        • "true": 実行可能ファイルを管理者として実行します。
        • 「false」: 実行可能ファイルを現在のユーザーとして実行します。

    Google Play の公開構成ファイルの例

    MyGame というゲームがあり、ゲーム インストーラが game_installer.exe、ゲームのランチャーが launcher.exe であるとします。この例では、CDATA の使用方法も示します。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. -->
      <installer requiresElevation="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. Windows のコマンドラインまたは Powershell で Play パブリッシング ツールを実行します。

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

    同じ名前の既存の WAB ファイルを上書きするには、--force 引数を使用します。

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

    次のように置き換えます。

    • PLAY_PUBLISHING_CONFIG_PATH: Google Play の公開構成へのパス。たとえば、path\to\play_publishing_config.xml のように指定できました。
    • WAB_OUTPUT_PATH: WAB ファイルへのパス。たとえば、path\to\output_bundle.wab のように指定できました。

    Google Play 公開ツールの使用方法

    現在の作業ディレクトリに、Play 公開ツール バイナリ playpublishingtool.exe、Play 公開構成 play_publishing_config.xml、ゲーム インストーラ game_installer.exe があるとします。

    現在の作業ディレクトリは次のようになります。

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

    同じディレクトリに installer_bundle.wab という名前の WAB を作成する場合、コマンドは次のようになります。

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

    --force 引数を使用すると、コマンドは次のようになります。

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

    成功すると、次のような出力が表示されます。

    Successfully built the installer bundle at installer_bundle.wab
    

    次のフォルダで WAB ファイルを探します。

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

Google Play Console を使用してゲームを公開する

ゲームの WAB を作成したら、Google Play Console にアップロードして、設定と要件を管理します。ゲームを公開する手順は次のとおりです。

PC 版 Google Play Games フォーム ファクタを追加する

この手順は、ゲームを初めて公開するときにのみ必要です。

  1. Google Play Console の左側のメニューで、[テストとリリース > 設定 > 詳細設定](直接リンク)を選択します。
  2. [フォーム ファクタ] タブに移動し、[+ フォーム ファクタを追加] プルダウンから Google Play Games on PC を追加します。

  3. 右側の [PC 版 Google Play Games] フォーム ファクタに対応する [管理] ボタンをクリックします。

  4. [Windows App Bundle ゲームに専用トラックを使用する] オプションを選択します。

  5. [保存] をクリックし、確認ダイアログで再度 [保存] をクリックします。

管理対象の公開をオンにする

管理対象の公開を有効にする手順は次のとおりです。

  1. [公開の概要] ページの [管理対象の公開] セクションで、[管理対象の公開をオンにする] をクリックします。
  2. ダイアログが表示されます。トラックの [管理対象の公開: オン] に切り替えます。
  3. [Save] をクリックします。

WAB ファイルをアップロードする

WAB ファイルをアップロードする手順は次のとおりです。

  1. Google Play Console の左側のメニューで、[テストとリリース] > [詳細設定](直接リンク)を選択します。
  2. [詳細設定] ページで、[フォーム ファクタ] タブをクリックします。
  3. [フォーム ファクタ] タブで、[+ フォーム ファクタを追加] をクリックし、[PC 版 Google Play Games] を選択して追加します。
  4. [PC 版 Google Play Games] セクションで、[管理] をクリックします。
  5. [Windows App Bundle ゲームに専用トラックを使用する] を選択します。
  6. [Save] をクリックします。
  7. Google Play Console の左側のメニューで、[テストとリリース > 製品版](直接リンク)を選択します。
  8. [本番環境] ページで、フォーム ファクタのプルダウンから [PC(Windows)版 Google Play Games のみ] を選択します。
  9. [Windows アプリバンドル] タブで、[編集] をクリックして WAB ファイルをアップロードします。

Windows パソコンの要件を構成する

Windows パソコンの要件を設定するには:

  1. Google Play Console の左側のメニューで、[ユーザーを増やす > ストアでの表示 > ストアの設定](直接リンク)を選択します。
  2. [PC の要件] セクションで、右側の [編集] ボタンをクリックします。
  3. フィールドを更新して、[保存] をクリックします。

アプリ内購入のグラフィックを設定する

この手順は省略可能です。アプリ内購入のグラフィックを設定するには:

  1. Google Play Console の左側のメニューで、[ユーザーを増やす] > [ストアでの表示] > [ストアの掲載情報](直接リンク)を選択します。
  2. [掲載情報] タブの [デフォルトのストアの掲載情報] セクションで、右側の [->](矢印)ボタンをクリックします。[デフォルトのストアの掲載情報] ページが表示されます。
  3. [PC 版 Google Play Games] セクションに移動し、[PC(Windows)版 Google Play Games のアプリ内購入の画像] に画像をアップロードします。
  4. [Save] をクリックします。

変更を審査に送信

  1. Google Play Console の左側のメニューで、[公開の概要] を選択します。
  2. [審査にまだ送信されていない変更] で、[変更を審査に送信] をクリックします。

審査チームが変更を承認すると、ゲームが Google Play で見つけられるようになります。