Play Games PC SDK を使用すると、Google Play サービスにアクセスして、PC でゲームを構築し、収益化できます。Play 請求サービスを使用してデジタル コンテンツを販売したり、Play Games を使用してシームレスにログインしたり、Play Integrity を使用してユーザーがアプリの有効な利用資格を持っていることを確認したりできます。
準備ができたら
前提条件
Google Play Console でアプリのエントリを作成し、Google Play パッケージ名を申請します。
PC 版 Google Play Games をダウンロードしてインストールし、Google アカウントでログインします。
ステップ 1: プロジェクトに SDK を追加する
PC 版 Google Play Games C++ SDK をダウンロードします。
API ヘッダー フォルダ
includes/をアプリケーションのコードベースにコピーします。ターゲット アーキテクチャに応じて、再配布可能なファイルを
imports/ディレクトリからアプリケーションのプロジェクトにコピーします。- 64 ビット(x64)の場合:
imports/x64/からファイルをコピーします。 - 32 ビット(x86)の場合:
imports/x86/からファイルをコピーします。
- 64 ビット(x64)の場合:
play_pc_sdk.libに対してプロジェクトをリンクし、play_pc_sdk.dllのコンテンツへのアクセスを許可します。
ステップ 2: マニフェスト ファイルを追加する
ゲーム内で SDK を使用する前に、ゲームの実行可能ファイルを、Google Play Console で申請した Google Play パッケージ名に関連付ける必要があります。そのためには、ゲームの実行可能ファイルと同じディレクトリに manifest.xml ファイルを追加します。
manifest.xml コンテンツの例:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
manifest.xml の配置例:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
ステップ 3: ゲームにデジタル署名する
ゲームで SDK を使用する前に、Authenticode デジタル署名を使用してゲームの実行可能ファイルをデジタル署名する必要があります。実行可能ファイルに署名する方法については、SignTool のドキュメントをご覧ください。
ゲームのデジタル署名プロセスが完了したら、構成のために証明書情報を Google の担当者に送信します。
ステップ 4: SDK を初期化する
ゲームの起動シーケンス中に SDK を初期化します。これはユーザーの操作を必要とせずに自動的に行われる必要があります。ゲーム ウィンドウをレンダリングする前に、初期化が成功したことを確認することをおすすめします。これにより、エラーをできるだけ早く検出して解決し、ゲーム プロセスを終了する必要がある場合にゲーム ウィンドウが短時間表示されるのを防ぐことで、最高のユーザー エクスペリエンスを提供できます。
GooglePlayInitialize を呼び出して API を初期化し、SDK の使用を開始します。これにより、グローバル状態が設定され、SDK ランタイムに接続され、アプリケーションが正しく起動されたことが確認されます。他の API を使用する前に、この関数を呼び出し、継続コールバックを InitializeResult::ok() が true に等しい状態で完了させる必要があります。
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
初期化がコード kActionRequiredShutdownClientProcess で失敗した場合は、できるだけ早くゲームプロセスを終了します。SDK のランタイムは、ゲームで追加の操作を行うことなく、ユーザーをサポートしようとします。たとえば、ユーザーがゲームの有効なライセンスを所有していない場合、Google Play Games はユーザーにコピーの購入を促します。その他のエラーについては、SDK を使用して、ユーザーがゲームの有効なライセンスを所有していることを確認するなどの重要なオペレーションを実行できないため、できるだけ早くゲーム プロセスを終了することをおすすめします。
成功以外のレスポンスは、次のいずれかの条件を示している可能性があります。
SDK ランタイムがインストールされていない、デバイスで実行されていない、またはゲームに統合されている SDK と互換性のない古いバージョンである。
SDK ランタイムでゲームのアプリケーション ID を確認できませんでした。これは、
manifest.xmlが無効であるか、開発時に デベロッパー モードを有効にせずに SDK を使用していることが原因である可能性があります。これがない場合、ゲームの実行可能ファイルは、Google Play パッケージ名に登録されたデジタル証明書でデジタル署名されている必要があります。ゲームの実行可能ファイルが Google Play ゲーム クライアントから起動されなかった。
Google Play ゲームのアクティブ ユーザーが、アプリのライセンスを所有していない。
ステップ 5: (省略可)複数のゲームプロセスをサポートする
ゲームが複数のプロセスを使用している場合(たとえば、Play Games PC がランチャーを読み込み、ランチャーが実際のゲームを起動する場合)、Google Play Games for PC によって直接起動されないプロセスから Play Games PC SDK を使用する予定がある場合(ランチャーから起動された実際のゲームが Play Games PC SDK を使用する必要がある場合)、次の統合手順を追加で完了します。
PC 版 Google Play Games によって直接起動されたプロセスは、Play Games PC SDK の初期化が成功したことを確認する必要があります。
これにより、エラーをできるだけ早く検出して、最適なユーザー エクスペリエンスを提供できます。SDK を使用する子プロセスは、直接起動されたプロセスに加えて、初期化も実行する必要があります。
子プロセスで Play Games PC SDK を使用するには、コマンドライン パラメータを生成された子プロセスに転送します。
コマンドライン パラメータの転送の例:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --gpg_args=abc --your_args=123 └───YourGame.exe --gpg_args=abc --your_args=123この例では、PC 版 Google Play Games(
GooglePlayGames.exe)が、いくつかのパラメータ(--gpg_args=abc --your_args=123)を指定してゲーム(YourGameLauncher.exe)を起動するプロセス階層を示しています。ゲームは、Play Games PC SDK を使用する子プロセス(YourGame.exe)を生成します。これを可能にするため、PC 版 Google Play Games によって起動されたゲームプロセスは、与えられたコマンドライン パラメータを子プロセスに転送します。ゲームの実行が停止したら、すべてのプロセスを終了します。
ユーザーがゲームを終了した場合や、
kActionRequiredShutdownClientProcessなどの SDK の初期化の失敗によりゲームが終了した場合は、ゲームが生成したすべてのプロセスを終了します。これにより、次回 PC 版 Google Play Games クライアントでゲームが起動されたときに、アクティブなアカウントの切り替えなどの新しい変更が有効になります。
次のステップ
IDE で開発中に SDK を使用する:
- デベロッパー モードを有効にする
アプリに Google Play PC の機能を追加します。
- Play 請求サービスを利用してデジタル アイテムを販売する
- Google Play のインストール リファラーでマーケティングの効果を測定する
- PC 版 Play Integrity でゲームを保護する