このチェックリストを使用して、PC 版 Google Play Games で審査に提出する前に、ゲームがすべての要件とベスト プラクティスを満たしていることを確認してください。
プロジェクトを設定して構成する
- SDK をダウンロードしてインポートする: 環境に合わせて最新の Play Games PC SDK を統合します。詳しくは、Unity ガイドまたは C++ ガイドをご覧ください。
- アプリのマニフェストを作成する:
<PackageName>を申し立て済みの Google Play Console パッケージにマッピングするmanifest.xmlファイルを作成します。詳細については、マニフェスト ガイドをご覧ください。 - 実行可能ファイルをデジタル署名する: Authenticode デジタル署名を使用してゲームに署名し、今後のすべてのアップデートのために証明書を保護します。デベロッパー モードを有効にすると、ローカル開発中にこの手順をスキップできますが、既知の認証局の実際のプロダクション証明書を使用して最終的なバイナリに署名する必要があります。詳しくは、ゲームにデジタル署名するをご覧ください。
- 証明書をフォーマットして送信する: 証明書情報を Google の担当者に送信します。証明書ファイルには証明書関連の情報のみが含まれている必要があります。証明書以外のブロックがすべて削除されていることを確認してください。OpenSSL を使用して、DER/CER ファイルを必要な PEM 形式に変換できます。
API と機能を統合する
- SDK を初期化する: 起動時に、他の機能を使用する前に、
InitializeAsyncなどの SDK 初期化ロジックを実装します。詳細については、初期化ガイドをご覧ください。 - シームレスなログインを実装する: Recall API を使用して、Play Games クライアント アカウントでプレーヤーを自動的に認証します。詳しくは、シームレスなログインのガイドをご覧ください。
- Play Integrity を統合する:
IntegrityClientを使用してトークンをリクエストし、バックエンドでゲーム セッションの正当性を確認します。詳しくは、Play Integrity ガイドをご覧ください。 - Play Install Referrer を追加する: PC のユーザー獲得元をトラッキングする必要がある場合は、Install Referrer API を統合します。詳しくは、Install Referrer のガイドをご覧ください。
- 初期化エラーを処理する: SDK を使用するには、
GooglePlayInitialize(C++)またはGooglePlayInitialization.InitializeAsync(C#)を呼び出して API を初期化します。他の API を使用する前に、これを呼び出して、継続コールバックがInitializeResult::ok()(C++)で完了するか、Result.IsOk(C#)がtrueを返すことを確認する必要があります。 - 強制シャットダウンを処理: クライアント プロセスをできるだけ早くシャットダウンして
kActionRequiredShutdownClientProcessを処理します。 - Google Play Games のインストール要件を処理する:
kSdkRuntimeUnavailableを処理します。続行するには Google Play Games と SDK ランタイムをインストールする必要があることをユーザーに通知します。 - Google Play Games のアップデートを処理する: Google Play Games ランタイムのアップデートが必要であることをユーザーに通知して、
kSdkRuntimeUpdateRequiredを処理します。
Play 請求サービスを実装する
- 購入タイプを確認する: 定期購入とサブスクリプションはサポートされていないため、ゲームがアプリ内購入のみに依存していることを確認します。詳しくは、課金に関するよくある質問をご覧ください。
- 商品詳細のクエリ:
QueryProductDetailsを使用して、ローカライズされたストアデータを取得します。商品が 50 個を超える場合は、リクエストを複数の呼び出しに分割します。詳細については、商品のクエリガイドをご覧ください。 - 購入フローを開始する:
LaunchPurchaseFlowを使用して、トランザクションをネイティブに処理します。支払いをせずに支払いブラウザを閉じると、5 分のタイムアウト エラーが発生します。詳しくは、購入フローガイドをご覧ください。 - 既存の購入を復元する: 起動時とフォアグラウンド時に
QueryPurchasesを呼び出して、未確認のクロスデバイス購入をキャッチします。詳しくは、購入の復元に関するガイドをご覧ください。 - 安全なバックエンド処理: 利用資格を付与して
AcknowledgePurchaseまたはConsumePurchaseで確定する前に、バックエンドでpurchaseTokenを検証します。詳しくは、安全な処理ガイドをご覧ください。
デベロッパー モードでテストし、リリース前の QA を実施する
- デベロッパー モードでテストする: マニフェストに
<IsDeveloperMode>true</IsDeveloperMode>を追加し、ローカルの統合開発環境(IDE)テスト用に早期アクセス パートナー GUID を構成します。早期アクセス パートナー GUID がない場合は、お問い合わせフォームにご記入ください。 - デベロッパー モードでの購入を管理する: デベロッパー モードでテスト購入を行う場合は、自動払い戻しを防ぐため、3 分以内に購入を消費してください。詳しくは、テストに関するよくある質問をご覧ください。
- デベロッパー モードを削除する: リリースビルドをパッケージ化する前に、できるだけ早く
<IsDeveloperMode>タグを削除する必要があります。詳しくは、デベロッパー モード ガイドをご覧ください。 - サードパーティ ランチャーを使用して引数を転送する: ランチャーが Google Play Games クライアントから受け取った不明なコマンドライン引数をすべて、生成されたゲームプロセスに直接渡します。詳しくは、マルチプロセス ガイドをご覧ください。
- VPN を使用してテストする: サポートされていない地域からテストする場合は、TUN モードが有効になっている VPN を使用して、サポートされている IP アドレスを取得します。詳しくは、VPN テストに関するよくある質問をご覧ください。
- デスクトップ ショートカットのサポート: ショートカットをシームレスにサポートするには、ショートカットの実行についてショートカットに関するよくある質問を参照してください。ショートカットを使用してゲームやサードパーティ製ランチャーを直接起動すると、初期化エラーが発生する可能性があります。
ゲームをパッケージ化、テスト、公開する
- WAB をパッケージ化する: Play Publishing Tool を使用して、ゲームを Windows App Bundle(WAB)にパッケージ化します。WAB ファイルは 10 GB のファイルサイズ制限内に収まっている必要があります。詳しくは、パッケージング ガイドをご覧ください。
- 昇格が必要かどうかを確認する: インストーラ、ランチャー、アンインストーラを起動するたびに管理者として実行する必要がある場合は、
INSTALLER_REQUIRES_ELEVATION、LAUNCHER_REQUIRES_ELEVATION、UNINSTALLER_REQUIRES_ELEVATIONをtrueに設定しているかどうかを確認してください。設定していない場合、管理者権限で実行されず、起動に失敗します。詳しくは、WAB 構成ファイルの形式をご覧ください。 - サードパーティ製ランチャーのインストーラを送信する: サードパーティ製ランチャーを使用する場合は、そのインストーラを WAB 内で送信します。詳しくは、インストーラ公開ガイドをご覧ください。
- 自動再生セッション トークンを処理する:
play_publishing_config.xmlでacceptsCommandLineArguments="true"を設定して自動再生を有効にする場合は、インストーラが--g_session_token=<token>コマンドライン引数を抽出し、それを使用してゲームを起動することを確認します。トークンが存在しないフォールバック ケースをインストーラが処理するようにしてください。詳しくは、ランチャーに関するよくある質問をご覧ください。 - ゲームとランチャーまたはインストーラを更新する: ランチャー インストーラを含むパッケージ コンテンツは、自己更新可能でなければなりません。ランチャー自体の更新を含め、ゲームに必要なすべてのリソースを管理します。
- リリース情報を Google と共有する: Google Play パートナーに連絡し、パッケージ名、リリースする国(ISO 2 文字コードを使用。例: US、CA、MX)、リリース日時(協定世界時(UTC))を共有します。
- テストアクセスを設定する: テスト、ドキュメント、Google ドライブへのアクセスを許可リストに追加する外部 Google グループを指定します。Google Play Console のテスト トラックは PC ではサポートされていないため、テスト アカウントのメールリストを Google Play パートナーと共有します。
- PC フォーム ファクタを追加する: Google Play Console で、アプリに「PC 版 Google Play Games」フォーム ファクタを明示的に追加します。このタブにアクセスできない場合は、Play パートナーに連絡して、アカウントを許可リストに追加してもらってください。
- PC の要件を構成する: Windows PC のハードウェア要件(RAM、GPU、ストレージ)を入力します。詳しくは、PC の要件に関するガイドをご覧ください。
- ストアのアセットをアップロードする: パッケージ化された WAB ファイルを本番環境トラックにアップロードし、ビジュアル アセットを構成します。詳しくは、アセットのアップロード ガイドをご覧ください。
- ユーザー環境テスト用に公開する: Google Play Console で [公開] を選択します。Android 版とは異なり、WAB で [公開] を選択しても、一般公開はトリガーされません。代わりに、Google の審査プロセスの後、共有テスト アカウントでユーザー環境でのテストを実施できるように、アプリが検索可能になります。
- 正式リリース: Google は、Play パートナーと共有した正式リリース日に基づいてリリースを管理します。
- 事前登録中のテスト: 事前登録フェーズでは、選択した事前登録地域に含まれない国で内部テストを実施する必要があります。
- インストーラのプロセスの終了を確認する: 必要なレジストリキーがすべて作成され、登録されるまで、プライマリ インストーラのプロセスがアクティブな状態であることを確認します。プロセスが途中で終了すると、インストール検証は失敗します。詳しくは、インストーラの公開をご覧ください。
API から SDK に移行する
API から SDK への移行は省略可能な手順です。移行する場合は、次の推奨事項に沿って操作してください。
- 以前の REST API を削除する: 以前の Play Developer API 呼び出し(
purchases.products.getなど)をクライアントサイドの Native SDK 関数にマッピングします。詳細については、移行ガイドをご覧ください。 - コマンドライン引数を確認する: SDK 環境のコマンドライン引数は、API 環境のコマンドライン引数と異なる場合があります。パッケージがすべての引数を正しく処理して渡していることを確認します。詳細については、確認するをご覧ください。
- レジストリ パスを確認する: Native SDK へのシームレスな移行のため、レジストリ構成は以前のバージョンと一貫性を保つ必要があります。詳しくは、WAB ファイル ガイドをご覧ください。