著作権 (c) 2014 Google Inc. 無断複写・転載を禁じます。
Unity® 用 Google Play ゲーム プラグインは、ゲーム開発者が Unity® で記述されたゲームから Google Play ゲーム API と統合できるようにするプラグインを提供することを目的としたオープンソース プロジェクトです。ただし、このプロジェクトは Unity Technologies によっていかなる形でも承認または監督されているわけではありません。
Unity® は Unity Technologies の商標です。
iOSはApple, Inc.の商標です。
Github リリースページからパッケージをダウンロードしてください。
Unity 用 Google Play ゲーム プラグインを使用すると、Unity のソーシャル インターフェイスを通じて Google Play ゲーム API にアクセスできます。このプラグインは、Google Play ゲーム API の次の機能のサポートを提供します。
サインイン
友達
実績のロックを解除/公開/増加
スコアをリーダーボードに投稿する
クラウドセーブの読み取り/書き込み
組み込みの実績/リーダーボード UI を表示
イベント
近くの接続
注意: このバージョンのプラグインは iOS をサポートしなくなりました。 iOS 用の Google Play ゲーム サービスは廃止されたため、期待どおりに機能しない可能性があります。新しいアプリでは iOS 用の Google Play ゲーム サービスを使用しないでください。詳細については、非推奨のお知らせに関するブログ投稿を参照してください。
特徴:
簡単な GUI 指向のプロジェクトセットアップ (Unity GUI に統合)
プレーヤーのアクティビティをオーバーライド/カスタマイズする必要はありません
AndroidManifest.xml をオーバーライド/カスタマイズする必要はありません
プラグインの使用手順については、この開発者ガイドを参照してください。
Google Play ゲームの使用方法を示すサンプル アプリケーションについては、SmokeTest プロジェクトを参照してください。
すでにプロジェクトを以前のバージョンのプラグインと統合していて、新しいバージョンにアップグレードしたい場合は、アップグレード手順を参照してください。
現在のプレーヤーに代わってバックエンド Web サーバー上の Google API にアクセスするには、クライアント アプリケーションから認証コードを取得し、これを Web サーバー アプリケーションに渡す必要があります。 このコードは、さまざまな API を呼び出すためのアクセス トークンと交換できます。このフローの詳細については、「Web サイトの Google サインイン」を参照してください。
サーバー認証コードを取得するには:
Play ゲーム コンソールでゲームにリンクされている Web アプリケーションの Web クライアント ID を構成します。
構成の作成時にPlayGamesClientConfiguration.Builder.RequestServerAuthCode(false)
を呼び出します。
プレーヤーが認証されたら、 PlayGamesPlatform.Instance.GetServerAuthCode()
を呼び出します。
このコードをサーバー アプリケーションに渡します。
PlayGamesPlatform.Instance.RequestServerSideAccess(/* ForceRefreshToken= */ false,code -> { // コードをサーバーに送信});
Proguard を使用してゲームで使用されていない Play ゲーム サービス機能のコードを削除することで、Play ゲーム サービス Unity プラグインのサイズを減らすことができます。 Proguard は、ゲームで使用されていない機能の Play Games Unity プラグイン コードを削除します。そのため、ゲームには必要なコードのみが付属し、Play ゲーム サービスの使用によるサイズへの影響が最小限に抑えられます。
さらに、Unity のマネージド コード ストリッピングを使用すると、プロジェクト全体を圧縮して、Unity プロジェクト全体のサイズを削減することができます。 これは、Proguard と組み合わせて使用できます。
File > Build Settings > Player Settings
に移動し、 Publishing Settings
セクションをクリックします。 Proguard
for Minify > Release
選択します。次に、 User Proguard File
有効にします。プラグインをデバッグ APK に対しても保護したい場合は、 Proguard
for Minify > Debug
を選択します。
proguard 構成の内容をAssets/Plugins/Android/proguard-user.txt
にコピーします。
PlayGamesPlatform.Activate
を呼び出すと、Google Play ゲームがデフォルトのソーシャル プラットフォーム実装になります。これは、 Social
およびSocial.Active
のメソッドへの静的呼び出しが Google Play ゲーム プラグインによって実行されることを意味します。これは、プラグインを使用するほとんどのゲームにとって望ましい動作です。
ただし、何らかの理由でデフォルトの実装をアクセス可能な状態に保ちたい場合 (たとえば、実績やリーダーボードを別のソーシャル プラットフォームに送信するために使用する場合)、デフォルトのプラグインをオーバーライドせずに Google Play ゲーム プラグインを使用できます。これを行うには:
PlayGamesPlatform.Activate
を呼び出さないでください
Xyz
Social
クラスで呼び出すメソッドの名前である場合は、 Social.Xyz
を呼び出さないでください。代わりに、 PlayGamesPlatform.Instance.Xyz
を呼び出します。
Google Play ゲームを操作する場合は、 Social.Active
使用しないでください。代わりに、 PlayGamesPlatform.Instance
を使用してください。
そうすれば、スコアと実績を 2 つ以上のソーシャル プラットフォームに同時に送信することもできます。
// 実績を元のデフォルトのソーシャル プラットフォームに送信しますSocial.ReportProgress("MyAchievementIdHere", 100.0f, callback);// 実績を Google PlayPlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback); に送信します。
このセクションには、コードの作成、ドキュメントの改善、またはバグの修正によってこのプロジェクトに貢献した人々のリストが記載されています。
Windows で JAVA_HOME 設定が必要であることを理解するための Dgizusse。
antonlicht は、サポート ライブラリの showErrorDialog のパラメータ タイプのバグを修正していただきました。
OnAchievementsLoaded が OPERATION_DEFERRED 結果コードを成功として受け入れなかった問題を修正するための pR0P。
friikyeu は、接続中でも API 呼び出しが実行されずにキューに入れられる問題のデバッグを支援してくれました。