
はじめに
多くのゲーム開発者は、ゲームで
Google Playゲームサービスを使用したいと考えています。 私も例外ではありませんでしたが、
libgsdxゲームに
GPGSサポートをすばやく追加する方法に関する知識とスキルはありません
でした。 この記事では、レコードと実績のテーブルを接続するプロセスについて説明します。 初期データ:
Eclipse 、ゲームサービス、Androidプロジェクト、ルートプロジェクトを操作するためのカスタマイズされた開発者コンソール。
カスタマイズ
GPGSで動作するように開発者コンソールを構成する方法については説明しませんが、そこからは次の形式のリソースが必要になるとのみ言います。
games-ids.xml<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_id">310266082735</string> <string name="achievement_take_10_levels">HgkIr62KmoQJEAIQBg</string> <string name="achievement_take_30_levels">HgkIr62KmoQJEAIQBw</string> <string name="achievement_take_50_levels">HgkIr62KmoQJEAIQCA</string> <string name="achievement_take_70_levels">HgkIr62KmoQJEAIQCg</string> <string name="achievement_take_100_levels">HgkIr62KmoQJEAIQCQ</string> <string name="achievement_beginner_cutter">HgkIr62KmoQJEAIQDw</string> <string name="achievement_advanced_cutter">HgkIr62KmoQJEAIQEA</string> <string name="achievement_master_cutter">HgkIr62KmoQJEAIQEQ</string> <string name="achievement_lucky">HgkIr62KmoQJEAIQEg</string> <string name="achievement_cheerful">HgkIr62KmoQJEAIQEw</string> <string name="achievement_exceptional_joyous">HgkIr62KmoQJEAIQFA</string> <string name="achievement_thrust">HgkIr62KmoQJEAIQFQ</string> <string name="achievement_very_persistent">HgkIr62KmoQJEAIQFg</string> <string name="achievement_the_most_resistant">HgkIr62KmoQJEAIQFw</string> <string name="achievement_1_000_000">HgkIr62KmoQJEAIQGA</string> <string name="achievement_2_000_000">HgkIr62KmoQJEAIQGQ</string> <string name="achievement_3_000_000">HgkIr62KmoQJEAIQGg</string> <string name="achievement_unlucky">HgkIr62KmoQJEAIQGw</string> <string name="achievement_loyal">HgkIr62KmoQJEAIQHA</string> <string name="achievement_fan">HgkIr62KmoQJEAIQHQ</string> <string name="achievement_leader_of_mars">HgkIr62KmoQJEAIQHg</string> <string name="achievement_leader_of_neptune">HgkIr62KmoQJEAIQHw</string> <string name="achievement_unhurried">HgkIr62KmoQJEAIQIA</string> <string name="achievement_final_push">HgkIr62KmoQJEAIQIQ</string> <string name="leaderboard_leaderboard">HgkIr62KmoQJEAIQAQ</string> <string name="leaderboard_pack_1">HgkIr62KmoQJEAIQCw</string> <string name="leaderboard_pack_2">HgkIr62KmoQJEAIQDA</string> </resources>
app_idはアプリケーションの識別子であり、
leaderboard_xxxと
achievement_xxxの形式の行は、それぞれ特定のレコードと実績のテーブルを示します。
ゲームのandroid-projectに
games-ids.xmlという名前のリソースxml-fileを作成し、そこにリソースを配置する必要があります。
GPGSには
google-play-services_libライブラリプロジェクトが必要です。 彼の方法:
<android-sdk>\extras\google\google_play_services\libproject\google-play-services_lib
デフォルトでは、ゲームサービスは
Android SDKと共にインストールされないため、このパスには何もありません。 これを修正するには、
Android SDK Managerに
Google Repositoryと
Google Play servicesという2つのパッケージをインストールする必要があり
ます 。
google-play-services_libライブラリプロジェクトを
Eclipseにインポートする必要があります。 次に、インポートしたプロジェクトのプロパティで「ライブラリです」チェックボックスを設定します。

次に、Androidプロジェクトと
google-play-services_libライブラリをリンクする必要があります。 これを行うには、
ビルドパスセクションの
必須プロジェクトにライブラリを追加します。 (
プロパティ-> Javaビルドパス->プロジェクト )。

この時点でセットアップを終了できますが、
Googleの公式ドキュメントでは
GameHelperヘルパー
クラスの使用を強く推奨しています。 このクラスを使用すると、ゲームサービスを使用する際の作業が非常に簡単になります。 そのインストールは、
google-play-services_libのインストールに似ています(プロジェクトをライブラリとしてインポートし、プロジェクトライブラリをAndroidプロジェクトにリンクします)。
BaseGameUtilsをダウンロードし
ます 。
AndroidManifest.xmlで 、2つのアクセス許可とメタデータ
を追加します。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
メタデータは、
アプリケーションタグ内に追加され
ます 。
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
セットアップが完了しました。
コード
メインアクティビティでは、
GameHelperListenerの 2つのインターフェイス
ActionResolverを実装します。
public class MainActivity extends AndroidApplication implements GameHelperListener, ActionResolver
GameHelperListenerインターフェイスは次のとおりです。
public interface GameHelperListener { void onSignInFailed(); void onSignInSucceeded(); }
ActionResolverインターフェースを自分で作成します。 プラットフォーム固有のコードを呼び出すために必要です。 この手法は、公式の
libgdx wikiで説明されてい
ます 。 インターフェースの例:
public interface ActionResolver { public boolean getSignedInGPGS(); public void loginGPGS(); public void submitScoreGPGS(int score); public void unlockAchievementGPGS(String achievementId); public void getLeaderboardGPGS(); public void getAchievementsGPGS(); }
メイン
アクティビティのサンプルコード:
public class MainActivity extends AndroidApplication implements GameHelperListener, ActionResolver {
ゲームに成果があると仮定します-100万ゲームポイントを獲得すると、これを実装するコードは次のようになります。
public static void checkTotalPoints(int points) { ActionResolver res = getActionResolver(); if (!res.getSignedInGPGS()) { return; } if (points >= 1000000) { res.unlockAchievementGPGS("HgkIr62KmoQJEAIQGA"); } }
ハイスコアテーブルでも同じですが、簡単です
。ActionResolverインターフェイスのsubmitScoreGPGS(int score)メソッドを呼び出すだけです。
PSゲームサービスをテストするには、開発者コンソールと同じ証明書を使用してapkファイルをエクスポートする必要があります。 コンソールにテスターアカウントを追加する必要もあります。 ゲームサービスへの変更は、しばらくしてから有効になります。
使用したソース
developers.google.com/games/services/android/quickstartdeveloper.android.com/intl/en/google/play-services/setup.htmlgithub.com/libgdx/libgdx/wiki