よくある質問

このドキュメントでは、PC 版 Google Play Games 向け SDK とパブリッシングに関するよくある質問に回答します。

収益化

  1. バックエンド サーバーなしで購入フローを使用できますか?

    セキュリティの観点から、バックエンド サーバーなしで処理することはおすすめしません。

    詳細については、バックエンド サーバーのないプロセスをご覧ください。

  2. PC 版 Google Play Games SDK を統合した後も、既存の API ベースの決済システムは許可されますか?

    すべての支払いは、Google Play 請求サービスを使用して PC 版 Google Play Games SDK で処理する必要があります。既存の API ベースのお支払い方法を同じゲームで使用することはできません。

  3. デベロッパー モードでアイテムを購入するにはどうすればよいですか?

    デベロッパー モードで 3 分以内に購入を消費しないと、購入は払い戻されます。

  4. 定期的なお支払いや定期購入はサポートされていますか?

    当面は予定していませんが、今後のロードマップに追加する具体的なユースケースをご提供いただければ幸いです。

  5. 購入呼び出しの請求エラーとは何ですか?

    BillingError は、支払い結果のレスポンスです。LaunchPurchaseFlow はブロックせずにすぐに戻りますが、完了したタイミングを把握して結果を取得するには、コールバックをリッスンする必要があります。

  6. クライアントサイドの購入の確認を使用するにはどうすればよいですか?

    サーバーサイドの購入とその検証プロセスを使用することをおすすめします。クライアント アプリからの購入を処理するには、ゲームが許可リストに登録されている必要があります。ゲームでアクセスが必要な場合は、Google パートナーにお問い合わせください。詳細については、バックエンド サーバーのないプロセスをご覧ください。

  7. 商品詳細のクエリに関する API の上限はどのくらいですか?

    QueryProductDetails API への 1 回の呼び出しでクエリできる商品の最大数は 50 個です。この上限を超える場合は、リクエストを複数の呼び出しに分割する必要があります。

  8. Billing Client で Query Purchases または Launch Purchase Flow を呼び出すときに必要なパラメータは何ですか?

    この関数は、std::function<void(QueryPurchasesResult)> シグネチャを持つ関数コールバックである QueryPurchasesContinuation を受け入れます。コールバックは、すべての ProductPurchaseDetails を含む結果を渡します。この情報は、includes/billing/models.h ファイルの SDK ヘッダー ファイルで確認できます。

    結果の launch_purchase_flow_result には、ok() 関数と code() 関数があります。ok() 関数は、フローが成功したかどうかを返します。code() 関数は、BillingError 列挙型(includes/billing/enums.h)を返します。これには、ユーザーがキャンセルした、ネットワーク エラーなど、10 個のエラーケースがあります。

  9. Billing Client の Launch Purchase Flow でカスタムの注文はサポートされていますか?

    現在の SDK の設計では、独自のペイロードを渡す方法はありません。ただし、obfuscated_account_idobfuscated_profile_id は任意に組み合わせて指定できます。どちらも指定しない、1 つだけ指定する、両方指定する、のいずれかを選択できます。

    offer_token フィールドは必須で、ユーザーが購入手続きのフローで購入しようとしている購入特典を指定します。現時点では、Google Play の各 SKU には 1 つの特典(1 つのアイテムを 10 ドルで購入するなど)のみが設定されています。今後、Google Play 請求チームは複数の提案をサポートする予定です。

    購入フローが中断されてもメタデータが関連付けられるようにするために、先にバックエンド サーバーにメタデータを保存し、その後で購入ダイアログを起動して、ユーザーのアカウント ID、購入しようとしている SKU、現在のタイムスタンプにメタデータを関連付けます。詳しくは、購入を内部データに関連付けるをご覧ください。

  10. 購入フロー中にユーザーが支払いをせずにブラウザを閉じると、タイムアウト エラーが発生するのは仕様ですか?

    はい。これは既知の問題であり、ブラウザベースのフローでは意図された動作です。Google では、ゲーム内で決済フローを維持し、このタイムアウトの不便さを解消するシームレスな購入機能(WebView ベース)の開発に積極的に取り組んでいます。

  11. OAuth を使用した Google 請求から DLL を使用したネイティブの Google 請求に切り替えるための前提条件は何ですか?

    ゲームでは、引き続き Google で OAuth ログインを使用してログイン済みアカウントを管理できますが、以前の REST 課金 API の使用を停止することをおすすめします。REST 課金 API(OAuth2 ログインを使用)から SDK フローへの切り替えは、機能フラグ付きのオペレーションにすることができます。これにより、ゲームの切り替え期間中は両方を共存させることができます。

  12. Launch Purchase Flow API 呼び出しはウェブブラウザで処理されますか?

    はい、現時点ではブラウザで処理されます。Google は、SDK を通じてゲームを離れることなく達成できるフロー全体を完了する予定です。

  13. 購入するには、ゲームごとに個別にログインする必要がありますか?

    Google Play Games のフォアグラウンド アカウントは各ゲーム セッションで使用されるため、再度ログインする必要はありません。ゲーム セッションの開始時に Google Play Games で使用するアカウントは、API 呼び出しが発行されるアカウントです。ブラウザで購入フローを開始する際は、ゲーム セッションと同じアカウントでログインして使用する必要があります。別のユーザー アカウントでログインしている場合は、アカウントの切り替えを求めるメッセージがウェブフローに表示されます。

  14. ゲームでネイティブ SDK と以前の支払いシステムの両方を同時にサポートできますか?

    支払いシステムは、ゲームのバイナリ バージョンに応じてデュアルフロー モデルで動作します。以前のビルドのユーザーは既存のフローを継続し、新しいビルドのユーザーは SDK ベースの支払いに移行します。移行期間中は、両方の支払いフローのユーザーが共存します。

Windows App Bundle

  1. サードパーティ製ランチャーを使用して WAB を送信する場合、審査にゲーム パッケージが必要ですか?

    インストーラのみを送信すればよく、ゲーム パッケージ全体を送信する必要はありません。審査担当者はインストーラを使用してゲーム パッケージをダウンロードできます。

  2. WAB ファイルのサイズに制限はありますか?

    WAB には最大 10 GB のファイルをアップロードできます。

  3. WAB をアップロードした後にゲームがインストールされない、または表示されないのはなぜですか?

    既存の PC 版がない状態でゲームをオンボーディングする場合(「初回 WAB」)、システムによって管理対象の公開の保留状態に自動的に設定されることがあります。これは、更新する既存のベースラインがないためです。WAB を完全にリリースしてゲームをインストール可能にするには、Google Play Console に移動して、必要な公開アクションを手動で実行する必要があります(たとえば、[変更を公開] をクリックします)。

  4. 内部テスト用に WAB をアップロードするにはどうすればよいですか?

    許可リストに登録したアカウントを Google と共有します。Google が内部テスト用にアカウントを有効にします。Google がリストを受け取ったら、オンボーディング プロセスにそれらが含まれていることを確認します。

  5. WAB パッケージはどこにアップロードすればよいですか?

    最初の質問で説明した場所に WAB パッケージをアップロードできます。ただし、手動で公開することはできません。Google のバックエンド スタッフに正確な UTC 時刻(時間単位まで)を提供する必要があります。Google は公開スケジュールを構成し、予定どおりに公開されるようにします。

PC SDK

  1. 従来の API と PC 版 Google Play Games SDK の違いは何ですか?

    • 以前の API では、課金機能のみが提供されます。
    • PC SDK は、Google Desktop Service(GDS)と PC のすべての機能をサポートしています。
    • PC SDK では、ブラウザベースの Google ログインは必要ありません。
  2. PC 版 Google Play Games を介さずに、ゲーム ランチャーを使用してゲームを直接起動して SDK を初期化する別の方法はありますか?

    ゲームは PC 版 Google Play Games クライアントから起動する必要があります。詳しくは、こちらのデベロッパー向けドキュメントをご覧ください。

  3. ネイティブ PC SDK は PEM 認証ファイルでマルチバイト文字をサポートしていますか?

    はい。SDK は認証用のマルチバイト文字をサポートしています。

  4. SDK は、複数のインスタンスまたはアカウントの Google アカウント ログインをどのように処理しますか?

    Google Play Games での各ゲームの起動は「ゲーム セッション」として扱われ、各「ゲーム セッション」にはアカウントを関連付けることができます。異なる場合があります。そのため、アカウント A でゲームを起動してからアカウント B に切り替えて再起動すると、両方を同時に実行できます。

  5. Play Install Referrer の統合は PC SDK で動作しますか?

    PC SDK(25.5.409.0 以降)は Play Install Referrer API をサポートしています。詳しくは、Play Install Referrer API をご覧ください。

ランチャー

  1. プレーヤーが Google Play クライアントではなくサードパーティ製ランチャーを使用している場合、Play ゲームサービス アカウントは自動的に同期されますか?

    SDK 関数を動作させるには、Google Play Games クライアントから直接ゲームを起動する必要があります。インストーラやランチャー アプリケーションなどの別のプロセスがゲームを開始する場合、そのプロセス自体が Google Play Games クライアントから起動される必要があります。ゲームは、クライアントから受け取ったすべてのパラメータをクライアント プロセスに渡す必要があります。

  2. Google Play Games がサードパーティのゲーム ランチャーを起動した場合、初期化をどのように処理すればよいですか?

    SDK をランチャーに直接統合する必要はありません。ただし、ランチャーが Google Play Games クライアントから受け取ったすべてのコマンドライン引数を、生成された子プロセス(ゲーム実行可能ファイル)に直接渡す必要があります。初期化が失敗した場合(kActionRequiredShutdownClientProcess を返すなど)、Google Play Games が自動的に復元を試み、ゲームを再起動できるように、ランチャーを含むすべてのプロセスを終了する必要があります。詳しくは、設定ガイドのステップ 5 をご覧ください。

  3. ゲームとランチャーがリリースされた後で、アップデートとメンテナンスを行うにはどうすればよいですか?

    以降の更新とメンテナンスは、ランチャーを通じて実装する必要があります。Google Play Games クライアントは更新機能をサポートしていないため、ランチャーはゲームとランチャー自体を更新できる必要があります。

初期化

  1. Google Play Games アプリを使用してゲームを開始すると、Google アカウントの詳細が同期されますか?

    Google Play Games クライアントからゲームを起動すると、アカウントが自動的に同期されるため、Google ログイン プロセスで再度ログインする必要はありません。

  2. 初期化パラメータを複数回再利用することはできますか?

    これは、Google Play Games クライアントが実行中で、ログイン情報が有効である限り可能です。ただし、ガイドで説明されているシナリオのように、ユーザーがゲームを閉じたり、kActionRequiredShutdownClientProcess などの SDK の初期化の失敗によりゲームが終了したりした場合は、ゲームによって起動されたすべてのプロセスを終了する必要があります。

  3. ゲームを直接開くショートカットを作成する方法はありますか?

    ゲームを直接開くには、次の URI を使用できます。

    googleplaygames://launch/?pid=2&id=com.company.gamename

    この URI は、PC 版 Google Play Games クライアントが開いているかどうかを検出するために使用できます。クライアントが開いていない場合、ゲームやランチャーが実行される前に Google Play Games クライアントが開きます。複数のインスタンスが実行されないように、ゲームまたはランチャーを管理する必要があります。

  4. SDK を使用せずに PC 版 Google Play Games のインストールを確認する方法はありますか?

    SDK を統合しなくても、次の Windows レジストリ キーの存在を確認することで、PC 版 Google Play Games のインストール ステータスを確認できます。

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    このキーが存在する場合、Google Play Games サービス(PC でゲームを実行するために必要)がマシンにインストールされていることを示します。キーがない場合は、PC 版 Google Play Games のインストール ページにアクセスしてクライアントをダウンロードし、インストールするようお客様にご案内します。

テスト

  1. モバイルと同様のオープンテスト環境またはクローズド テスト環境はありますか?

    専用のエンドツーエンド サンドボックスは利用できませんが、デベロッパー向けの本番環境のようなテスト環境の必要性は認識しています。より堅牢なソリューションをまもなく提供する予定です。

  2. 新しいテスターを追加するにはどうすればよいですか?

    Google の担当者が各 PC プロジェクトのメールグループを作成します。テスターの Google アカウントをこのグループに追加する必要があります。このメールグループのメンバーのみが、Google Play Games 内でテスト パッケージをダウンロードできます。

その他

  1. VPN を使用できますか?

    PC 版 Google Play Games がサポートされていない地域でゲームをテストする必要があるデベロッパーには、VPN を使用してサポートされている地域の IP アドレスを取得することをおすすめします。

    VPN で TUN モードが有効になっていることを確認します。TUN モードを有効にしてファイアウォールを構成する手順については、VPN プロバイダの取扱説明書をご覧ください。

    TUN モードを有効にしたら、テスト目的で PC 版 Google Play Games とエミュレータインストールします。

  2. Unity または UE エディタで PC 版 Google Play Games 向けの開発を始めるにはどうすればよいですか?

  3. レジストリキーを正しく使用するにはどうすればよいですか?

    ルートハイブに基づいてレジストリキーを作成する必要があります。目的とデータの性質に応じて、ルートハイブを HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER に設定できます。ガイドラインでは、HKEY_LOCAL_MACHINE ハイブを例として使用しています。

  4. PC パッケージの Google による審査の要件は何ですか?

    PC パッケージはマルウェア スキャンを受け、その後、審査担当者はゲームのインストール、起動、アンインストールのプロセスのみをテストします。

  5. すべての API を統合する必要がありますか?

    他の API は必須ではありませんが、追加のメリットがあります。google::play::billing は、アプリ内購入とデジタル コンテンツの販売に必要です。google::play::install_referrer は、リファラ データをトラッキングして、アプリのダウンロードに最も貢献しているトラフィック ソースを把握するために必要です。google::play::games::integrity は、潜在的にリスクの高いデバイスや不明なエミュレータを検出して、悪意のあるユーザーからアプリを保護するために必要です。

  6. Google Play Games クライアントを閉じると、一部のゲーム プロセスは終了するのに、他のゲーム プロセスは終了しないのはなぜですか?

    Google は、実行中のゲームのサブプロセスやプロセスを制御しません。動作は、ゲームが Android エミュレート ゲームか、ネイティブ PC ゲームかによって異なります。エミュレートされたゲームは独自の環境内にインストールされるため、その動作は主にエミュレータの初期化とシャットダウンに依存します。

  7. Google Play Games のアンインストール機能を使用すべきですか?それともカスタム アンインストーラを使用すべきですか?

    Google は、Google Play Games のアンインストール機能を使用することをおすすめします。

その他のサポート

このよくある質問に記載されていないことでご不明な点がございましたら、google-play-games-pc@google.com までお問い合わせください。