Android で C++ 向け Play ゲームサービスのスタートガイド

始める前に

このデベロッパー ガイドでは、Google Play ゲームサービス API を使用して Android で C++ ゲームをコンパイルして実行する方法について説明します。開始する前に、次の要件をダウンロードして構成します。

このデベロッパー ガイドでは、Android Native Development Kit(NDK)を使用します。NDK に慣れていない場合は、続行する前に NDK のドキュメントとサンプルをご覧ください。

ステップ 1: 環境を設定する

  1. Android SDK と Android NDK をダウンロードしてマシンに展開します。環境内で、SDK_ROOT を Android SDK フォルダの場所に設定し、NDK_ROOT を Android NDK フォルダの場所に設定します。
  2. C++ サンプルゲームをダウンロードします。このデベロッパー ガイドでは、マシン上のサンプルの場所を SAMPLES_DIR と呼びます。
  3. Google Play ゲームサービス C++ SDK をダウンロードします。開発マシンに SDK を抽出します。環境内で、NDK_MODULE_PATH 変数が gpg-cpp-sdk ディレクトリより上のディレクトリを指すように設定します。ディレクトリ構造は次のようになります。
    NDK_MODULE_PATH/
    gpg-cpp-sdk/
  4. Eclipse を開きます。NDK をインストールした場所をまだインストールしていない場合は、[Preferences] > [Android] > [NDK] をクリックして Eclipse に通知します。
  5. Google Play 開発者サービス ライブラリ プロジェクトを Eclipse ワークスペースにインポートします。

    1. Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
    2. SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib を選択します。ここで、SDK_ROOT は Android SDK の場所です。
    3. [Finish] をクリックします。
  6. シンプルなサンプル プロジェクトを Eclipse ワークスペースにインポートします。

    1. Eclipse で、[File] > [Import] > [Android] > [Existing Android Code into Workspace] をクリックします。
    2. [SAMPLES_DIR/samples-android/minimalist] を選択します。
    3. [Finish] をクリックします。
  7. 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 が作成されます(まだ作成していない場合)。

  1. Google Play ゲームサービスの設定の手順に沿って、ゲームのエントリを作成します。
  2. AndroidManifest.xml で、<manifest> タグの package 属性を Google Play Console の設定時に選択したパッケージ名に変更します。この変更(特に生成された R クラス)を行った後は、プロジェクト全体でいくつかの参照を修正する必要があります。
  3. res/values/ids.xml を開き、アプリ ID を配置します。アプリ ID はクライアント ID と同じではなく、Google Play Console の [ゲームの詳細] ページでゲームの名前の横に表示される番号です。

ステップ 3: サンプルを実行する

サンプルを実行するには、物理的な Android デバイス、または Google Play 開発者サービスがインストールされているエミュレータが必要です。

  1. ndk-build を実行してネイティブ コードをコンパイルします。
  2. Eclipse で、[Run] > [Run As] > [Android Application] をクリックし、デバイスでサンプルを実行します。
  3. サンプルが開いたら、画面の任意の場所をタップします。Google Play ゲームのロゴが表示されます。アプリを正しく設定している場合は、ログインするよう求められます。

オプション: Eclipse を使用して自動的にビルドする

次の手順では、jni フォルダのファイルに変更を加えたときに、自動的に Eclipse ndk-build を実行するように構成します。

  1. MinimalistActivity プロジェクトを右クリックし、[プロパティ] をクリックします。[プロパティ] ウィンドウで、[ビルダー] ペインを選択します。
  2. [New] をクリックして新しいビルダーを追加し、[Program] を選択して、[OK] をクリックします。
  3. [Name] フィールドに「NDK Builder」と入力します。
  4. [Location] で [Browse File System] をクリックし、NDK_ROOT ディレクトリに移動して ndk-build コマンドを選択します。
  5. [Working Directory] で [Browse Workspace] をクリックし、MinimalistActivity プロジェクト フォルダを選択します。
  6. [Refresh] タブをクリックします。[Refresh resources when complete] チェックボックスがオンになっていることを確認します。
  7. [特定のリソース] ラジオボタンを選択し、[リソースの指定] をクリックします。表示されたダイアログで、MinimalActivity の下にある jni フォルダを選択します。
  8. [Apply]、[OK] の順にクリックして、ビルダーの作成を完了します。

これで、jni フォルダ内のファイルを編集するたびに、ndk-build が実行され、その出力が Eclipse のコンソールに出力されます。