始める前に
このデベロッパー ガイドでは、Google Play ゲームサービス API を使用して Android で C++ ゲームをコンパイルして実行する方法について説明します。開始する前に、次の要件をダウンロードして構成します。
- Android NDK、リビジョン 14 以降。
- Android SDK v10 以降と Eclipse ADT の最新版。
- デバイスに Android 4.0(API レベル 14)以降が搭載されていること。
- 最新バージョンの Google Play 開発者サービス SDK。
このデベロッパー ガイドでは、Android Native Development Kit(NDK)を使用します。NDK に慣れていない場合は、続行する前に NDK のドキュメントとサンプルをご覧ください。
ステップ 1: 環境を設定する
- Android SDK と Android NDK をダウンロードしてマシンに展開します。環境内で、
SDK_ROOT
を Android SDK フォルダの場所に設定し、NDK_ROOT
を Android NDK フォルダの場所に設定します。 - C++ サンプルゲームをダウンロードします。このデベロッパー ガイドでは、マシン上のサンプルの場所を
SAMPLES_DIR
と呼びます。 - Google Play ゲームサービス C++ SDK をダウンロードします。開発マシンに SDK を抽出します。環境内で、
NDK_MODULE_PATH
変数がgpg-cpp-sdk
ディレクトリより上のディレクトリを指すように設定します。ディレクトリ構造は次のようになります。NDK_MODULE_PATH/ gpg-cpp-sdk/
- Eclipse を開きます。NDK をインストールした場所をまだインストールしていない場合は、[Preferences] > [Android] > [NDK] をクリックして Eclipse に通知します。
Google Play 開発者サービス ライブラリ プロジェクトを Eclipse ワークスペースにインポートします。
- Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib
を選択します。ここで、SDK_ROOT
は Android SDK の場所です。- [Finish] をクリックします。
シンプルなサンプル プロジェクトを Eclipse ワークスペースにインポートします。
- Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
- [
SAMPLES_DIR/samples-android/minimalist
] を選択します。 - [Finish] をクリックします。
MinimalistActivity プロジェクトを右クリックし、[プロパティ] をクリックします。[Android] で、[ライブラリ] セクションまで下にスクロールして、google-play-services_lib プロジェクトが正しく参照されていることを確認します。含まれていない場合は、参照を削除してワークスペースから再度追加します。
Eclipse ではプロジェクトの Java ソースと Android ソースが自動的にコンパイルされますが、jni
フォルダ内のネイティブ コードは個別にコンパイルする必要があります。これを手動で行うには、jni
フォルダに移動して ndk-build
を実行します。jni
フォルダ内で変更を加えたら、必ずこれを行ってください。
これでプロジェクトがコンパイルされるようになりました。ただし、まだプロジェクトは動作しません。まず、Google Play Console でゲームを構成する必要があります。
ステップ 2: Google Play Console でゲームを設定する
Google Play Console でゲームのエントリを作成します。これにより、アプリケーションでゲームサービスが有効になり、OAuth 2.0 クライアント ID が作成されます(まだ作成していない場合)。
- Google Play ゲームサービスの設定の手順に沿って、ゲームのエントリを作成します。
AndroidManifest.xml
で、<manifest>
タグのpackage
属性を Google Play Console の設定時に選択したパッケージ名に変更します。この変更(特に生成されたR
クラス)を行った後は、プロジェクト全体でいくつかの参照を修正する必要があります。res/values/ids.xml
を開き、アプリ ID を配置します。アプリ ID はクライアント ID と同じではなく、Google Play Console の [ゲームの詳細] ページでゲームの名前の横に表示される番号です。
ステップ 3: サンプルを実行する
サンプルを実行するには、物理的な Android デバイス、または Google Play 開発者サービスがインストールされているエミュレータが必要です。
ndk-build
を実行してネイティブ コードをコンパイルします。- Eclipse で、[Run] > [Run As] > [Android Application] をクリックし、デバイスでサンプルを実行します。
- サンプルが開いたら、画面の任意の場所をタップします。Google Play ゲームのロゴが表示されます。アプリを正しく設定している場合は、ログインするよう求められます。
オプション: Eclipse を使用して自動的にビルドする
次の手順では、jni
フォルダのファイルに変更を加えたときに、自動的に Eclipse ndk-build
を実行するように構成します。
- MinimalistActivity プロジェクトを右クリックし、[プロパティ] をクリックします。[プロパティ] ウィンドウで、[ビルダー] ペインを選択します。
- [New] をクリックして新しいビルダーを追加し、[Program] を選択して、[OK] をクリックします。
- [Name] フィールドに「NDK Builder」と入力します。
- [Location] で [Browse File System] をクリックし、
NDK_ROOT
ディレクトリに移動してndk-build
コマンドを選択します。 - [Working Directory] で [Browse Workspace] をクリックし、MinimalistActivity プロジェクト フォルダを選択します。
- [Refresh] タブをクリックします。[Refresh resources when complete] チェックボックスがオンになっていることを確認します。
- [特定のリソース] ラジオボタンを選択し、[リソースの指定] をクリックします。表示されたダイアログで、MinimalActivity の下にある
jni
フォルダを選択します。 - [Apply]、[OK] の順にクリックして、ビルダーの作成を完了します。
これで、jni
フォルダ内のファイルを編集するたびに、ndk-build
が実行され、その出力が Eclipse のコンソールに出力されます。