Play Games PC SDK を使用してゲームを強化する

Play Games PC SDK を使用すると、Google Play 開発者サービスにアクセスして、PC でゲームを構築し、収益化できます。Play 請求サービスを使用してデジタル コンテンツを販売し、Play Games を使用してシームレスにログインし、Play Integrity を使用してユーザーがアプリの有効な利用資格を持っていることを確認できます。

今後の機能、安定版リリース、統合 アーキテクチャの概要については、Play Games PC のロードマップをご覧ください。

準備ができたら

前提条件

  • Google Play Console 内でアプリのエントリを作成し、Google Play のパッケージ名を申請します。

  • PC 版 Google Play Games をダウンロードしてインストールし、 Google アカウントでログインします。

ステップ 1: プロジェクトに SDK を追加する

C++

  • Play Games PC C++ SDK をダウンロードします。

  • API ヘッダー フォルダ includes/ をアプリケーションのコードベースにコピーします。

  • ターゲット アーキテクチャに応じて、再配布可能なファイルを imports/ ディレクトリからアプリケーションのプロジェクトにコピーします。

  • 64 ビット(x64)の場合: imports/x64/ からファイルをコピーします。

  • 32 ビット(x86)の場合: imports/x86/ からファイルをコピーします。

  • play_pc_sdk.lib に対してプロジェクトをリンクし、play_pc_sdk.dll のコンテンツにアクセスできるようにします。

C#

ステップ 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 デジタル署名を使用してゲームの実行可能ファイルにデジタル 署名する必要があります。 Authenticode デジタル署名。 実行可能ファイルに署名する方法については、 SignTool のドキュメントをご覧ください。

ゲームにデジタル署名するプロセスが完了したら、構成のために証明書情報を Google の担当者に送信してください。

ステップ 4: SDK を初期化する

ゲームの起動シーケンス中に SDK を初期化します。これはユーザー操作を必要とせずに自動的に行う必要があります。ゲーム ウィンドウをレンダリングする前に、初期化が成功したことを確認することをおすすめします。 これにより、エラーをできるだけ早く表面化して解決することで、最高のユーザー エクスペリエンスを提供できます。また、ゲーム プロセスを終了する必要がある場合に、ゲーム ウィンドウが一時的に表示されるのを防ぐことができます。

GooglePlayInitialize(C++)/ GooglePlayInitialization.InitializeAsync(C#)を呼び出して API を初期化し、SDK の使用を開始します。これにより、グローバル状態が設定され、SDK ランタイムに接続され、アプリケーションが正しく起動されたことが確認されます。他の API を使用する前に、これを呼び出し、継続コールバックが InitializeResult::ok()(C++)/ Result.IsOk(C#)が true で完了する必要があります

C++

  // 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(