project。SDK のダウンロードから初期化、ビルド 構成までの手順について説明します。 keywords_public: Google Play Games PC、Unity、SDK 統合、ネイティブ PC、 ゲーム開発、IL2CPP、マニフェスト、Play Games PC Unity SDK
このガイドでは、Google Play Games PC SDK を Unity プロジェクトに統合する手順について説明します。
ステップ 1: SDK をダウンロードする
ダウンロード リンクを使用して、Unity パッケージの最新バージョンをダウンロードします。
ダウンロード: Play Games PC Unity SDK
ステップ 2: パッケージをインポートする
SDK は、Unity Package Manager(UPM)と互換性のある tar ファイルとして配布されます。詳細については、 ローカル tar ファイルから UPM パッケージをインストールするをご覧ください。
ステップ 3: ビルド設定を構成する
ネイティブ ライブラリが正しく読み込まれることを確認するには、IL2CPP スクリプティング バックエンドを使用し、正しいアーキテクチャをターゲットとするようにプロジェクトを構成する必要があります。
[ビルド プロファイルを作成] プラットフォームとして [Windows] を選択します。
[プラットフォーム設定] として [Windows] を選択します。アーキテクチャには、次のオプションを使用します。
- Intel 64 ビット (推奨)
- Intel 32 ビット
注: PC 版 Google Play Games プラットフォームは 64 ビット環境で実行されます。ゲームは 32 ビット(x86)または 64 ビット(x64)としてビルドできます。
[Scripting Backend] を [IL2CPP] に設定します。 詳細については、IL2CPP でプロジェクトをビルドするをご覧ください。
- [Api Compatibility Level] を [.NET Standard 2.0](または .NET Framework)に設定します。
ステップ 4: アプリケーション マニフェストを作成する
ゲームで SDK を使用する前に、ゲームの実行可能ファイルを Google Play Console で申請した Play パッケージ名に関連付ける必要があります。これを行うには、ゲームの実行可能ファイルと同じディレクトリに manifest.xml ファイルを追加します。
注: これは手動で行う必要があります。
- ゲームの実行可能ファイルを作成するには、[File] > [Build and Run] を選択するか、
Ctrl+Bをクリックします。 - テキスト エディタを開き、
manifest.xmlという名前の新しいファイルを作成します。 次の XML コードをコピーしてファイルに貼り付けます。
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
ファイルを
manifest.xmlとして保存します。このファイルを、ビルドしたゲームの実行可能ファイルと同じフォルダに移動します。
例: ゲームが
Builds/MyGame.exeにある場合、マニフェストはBuilds/manifest.xmlにある必要があります。
注: ゲームの実行可能ファイルにデジタル署名したり、Google Play Games から起動したりせずに、Unity エディタで開発中に PC SDK を使用する場合は、マニフェスト構成の追加手順については、 デベロッパー モードの設定ガイドをご覧ください。
ステップ 5: SDK を初期化する
課金や Integrity などの機能にアクセスする前に、SDK を初期化する必要があります。PlayPcSdkFactory を使用して初期化ハンドラを作成し、接続を開始します。
SdkInitialization.cs などの新しい C# スクリプトを作成し、次のコードを追加します。
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
このスクリプトを最初のシーンの GameObject に追加します。ゲームを実行したら、コンソールで「SDK Initialized Successfully!」というメッセージが表示されていることを確認します。
ステップ 6: PC ネイティブ ゲームのインストール時に自動再生を有効にする
PC 版 Google Play Games(GPG)では、デベロッパーが「自動再生」機能を有効にできます。この機能を使用すると、インストール プロセスが完了するとすぐにゲームが自動的に起動します。この機能により、プレーヤーは GPG エコシステム内で完全に認証され、ゲームに直接移行できるため、シームレスなユーザー エクスペリエンスを実現できます。
仕組み
この機能を有効にすると、GPG はコマンドライン引数を介してサードパーティ(3P)インストーラ プロセスに GPG セッション トークンを渡します。インストーラは、このトークンを抽出して、認証されたコンテキストでゲームの実行可能ファイルを起動します。
前提条件
この機能を使用するには、3P インストーラがコマンドライン引数を処理できる必要があります。
実装の手順
公開構成で自動再生を有効にする
この機能を有効にするには、
play_publishing_config.xmlの<installer>要素にacceptsCommandLineArguments属性 を追加します。manifest.xmlの内容の例:<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- 属性:
acceptsCommandLineArguments - タイプ:
Boolean - デフォルト:
false - 動作: true に設定すると、インストーラの実行時に GPG がセッション トークンをコマンドライン引数に追加します。
- 属性:
インストーラでセッション トークンを処理する
インストーラが GPG クライアントによって起動されると、セッション トークンがコマンドライン引数として渡されます。
- 引数の形式:
--g_session_token=<TOKEN>
必要な操作:
- 抽出: インストーラはコマンドライン引数を解析して、トークン文字列を取得する必要があります。
- 伝播: インストール フローでセカンダリ ランチャーまたはゲーム プロセスを起動する場合は、インストーラが SDK を使用する最終的なゲーム プロセスにセッション トークンを安全に渡す必要があります。
- 起動: 提供されたセッション トークンを使用して、ゲームの実行可能ファイルを開始します。これにより、ゲームは認証された GPG コンテキスト内で実行されます。そうしないと、 InitializeSDK が失敗し、プレーヤーはゲームを再起動する必要があります。
- 引数の形式:
エラー処理とフォールバック
- トークンの取得: なんらかの理由で GPG がセッション トークンを生成または渡すことができない場合(トークンの生成に失敗した場合など)、インストール プロセスは続行されます。ただし、インストーラは --g_session_token 引数なしで起動されます。
- 堅牢性: インストーラは、セッション トークンが存在しないシナリオを処理できるように設計する必要があります。このような場合、インストーラは標準インストールを続行する必要があります。InitializeSDK は失敗するため、ゲームの自動起動をトリガーしないでください。
- インストーラ エラー: インストーラの堅牢性とエラー処理、およびインストーラが開始するゲーム起動シーケンスについては、お客様の責任となります。GPG は、インストーラの起動後にインストーラ内で発生するプロセスを制御できません。