このチェックリストを使用して、ゲームを PC 版 Google Play Games で審査に提出する前に、すべての要件とベスト プラクティスを満たしていることを確認してください。
プロジェクトを設定して構成する
- SDK をダウンロードしてインポートする: 環境に適した最新の Play Games PC SDK を統合します。詳しくは、Unity ガイドまたは C++ ガイドをご覧ください。
- アプリのマニフェストを作成する:
manifest.xmlファイルを作成し、<PackageName>を申請済みの Google Play Console パッケージにマッピングします。詳しくは、マニフェスト ガイドをご覧ください。 - 実行可能ファイルにデジタル署名する: Authenticode デジタル署名を使用してゲームに署名し、今後のすべてのアップデートに備えて証明書を保護します。 デベロッパー モードを有効にすると、ローカル開発中にこの手順をスキップできますが、最終的なバイナリには、既知の認証局からの実際のプロダクション証明書で署名する必要があります。詳しくは、 ゲームにデジタル署名するをご覧ください。
- 証明書をフォーマットして送信する: 証明書情報 を Google の担当者に送信します。証明書ファイルには証明書関連の情報のみを含める必要があります。証明書以外のブロックがすべて削除されていることを確認してください。OpenSSL を使用して、DER/CER ファイルを必要な PEM 形式に変換できます。
API と機能を統合する
- SDK を初期化する: 他の機能を使用する前に、起動時に SDK の初期化ロジック(
InitializeAsyncなど)を実装します。詳しくは、初期化ガイドをご覧ください。 - シームレスなログインを実装する: 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 のアップデートを処理する:
kSdkRuntimeUpdateRequiredを処理するには、Google Play Games ランタイムのアップデートが必要であることをユーザーに通知します。
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 のファイルサイズ制限内に収める必要があります。詳しくは、パッケージ化ガイドをご覧ください。
- サードパーティ ランチャー インストーラを送信する: サードパーティ ランチャーを使用する場合は、そのインストーラを WAB 内に送信します。詳しくは、 インストーラ公開ガイドをご覧ください。
- ゲームとランチャーまたはインストーラを更新する: ランチャー インストーラを含むパッケージ コンテンツは、自己更新可能である必要があります。ランチャー自体の更新など、ゲームに必要なすべてのリソースを管理します。
- 起動情報を 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] フォーム ファクタをアプリに明示的に追加します。このタブにアクセスできない場合は、Google Play パートナーに連絡して、アカウントを許可リストに追加してもらってください。
- PC の要件を構成する: Windows PC のハードウェア要件(RAM、GPU、 ストレージ)を入力します。詳しくは、PC の要件 ガイドをご覧ください。
- ストア アセットをアップロードする: パッケージ化された WAB ファイルを製品版トラック にアップロードし、ビジュアル アセットを構成します。詳しくは、 アセットのアップロード ガイドをご覧ください。
- ユーザー環境テスト用に公開する: Google Play Console で [公開] を選択します。Android 版とは異なり、WAB で [公開] を選択しても、一般公開はトリガーされません。代わりに、Google の審査プロセスが完了した後、共有テスト アカウントでアプリを検索して、ユーザー環境でテストを実施できるようにします。
- 正式にリリースする: Google は、Google Play パートナーと共有した正式なリリース日に基づいてリリースを管理します。
API から SDK に移行する
API から SDK への移行は省略可能な手順です。移行する場合は、次の推奨事項に従ってください。
- 従来の REST API を削除する: 従来の Google Play Developer API 呼び出し(
purchases.products.getなど)をクライアントサイドの Native SDK 関数にマッピングします。詳しくは、移行ガイドをご覧ください。 - コマンドライン引数を確認する: SDK 環境のコマンドライン引数は、API 環境のコマンドライン引数と異なる場合があります。パッケージがすべての引数を正しく処理して渡していることを確認します。詳しくは、 確認するをご覧ください。
- レジストリ パスを確認する: Native SDK にシームレスに移行するには、レジストリ構成を以前のバージョンと一致させる必要があります。 詳しくは、WAB ファイル ガイドをご覧ください。