Google Play Games サービスを使った Android ゲームの開発について紹介します。
Play Games SDK では、タブレットやモバイル デバイスでのゲームに実績、リーダーボード、保存済みゲームなど人気のゲーム機能を簡単に統合できるクロス プラットフォームとして、Google Play Games サービスを提供しています。
このトレーニングでは、Android のサンプル ゲームアプリをインストールし、独自の Android ゲームの作成をすぐに始める方法を紹介します。サンプルアプリ Type-a-Number Challenge では、実績やリーダーボードをゲームに統合する方法について確認できます。
始める前に
アプリを準備するには、以下のセクションに示す手順を完了します。
アプリの前提条件
アプリのビルドファイルで次の値が使用されていることを確認します。
minSdkVersion
が19
以上compileSdkVersion
が28
以上
Google Play Console でゲームを設定する
Google Play Console では、各ゲーム用に Google Play Games サービスを管理し、ゲームの認可と認証のためのメタデータを構成します。詳細については、Google Play Games サービスのセットアップをご覧ください。
アプリを設定する
プロジェクト レベルの build.gradle
ファイルで、buildscript
セクションと allprojects
セクションの両方に Google の Maven リポジトリと Maven セントラル リポジトリを含めます。
buildscript {
repositories {
google()
mavenCentral()
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
モジュールの Gradle ビルドファイル(通常は app/build.gradle
)に Google Play 開発者サービスの依存関係を追加します。
dependencies {
implementation 'com.google.android.gms:play-services-games:23.2.0'
}
サンプルアプリ ガイド
このトレーニングでは、Android のサンプル ゲームアプリをインストールし、独自の Android ゲームの作成をすぐに始める方法を紹介します。サンプルアプリ Type-a-Number Challenge では、実績やリーダーボードをゲームに統合する方法について確認できます。
ステップ 1: サンプル アプリのダウンロード
このデベロッパー ガイドでは、Type-a-Number Challenge という Android サンプルアプリをダンロードする必要があります。
Android Studio でサンプルアプリをダウンロードしてセットアップするには:
- この Android サンプルアプリをダウンロード ページからダウンロードします。
android-basic-samples
プロジェクトをインポートします。このプロジェクトにはTypeANumber
とその他の Android ゲームのサンプルが含まれています。Android Studio での手順は次のとおりです。- [File] > [Import Project] をクリックします。
- 開発用マシンで
android-basic-samples
をダウンロードしたディレクトリに移動します。ファイルandroid-basic-samples/build.gradle
を選択して [OK] をクリックします。
TypeANumber
モジュールでAndroidManifest.xml
を開き、パッケージ名をcom.google.example.games.tanc
から別の独自のパッケージ名に変更します。新しいパッケージ名の先頭にcom.google
、com.example
、com.android
を使用することはできません。
手順 2: Google Play Console でゲームをセットアップする
Google Play Console では、各ゲーム用に Google Play Games サービスを管理し、ゲームの認可と認証のためのメタデータを構成します。
Google Play Console でサンプルゲームをセットアップするには:
- ウェブブラウザで Google Play Console に移動してログインします。これまで Google Play Console に登録していない場合は、登録を求めるメッセージが表示されます。
- 以下の手順に沿って、Google Play Console にゲームを追加します。
- アプリ内で Google API を使用するかどうかを尋ねられたら、[ゲームで Google API をまだ使用していません] を選択します。
- このデベロッパー ガイドの目的は、独自のゲームについての詳細をフォームに入力できるようになることです。そのために利用できるプレースホルダ アイコンやスクリーンショットが、ダウンロード ページで提供されています。
- 以下の手順に沿って、Android アプリ用に OAuth 2.0 クライアント ID を生成します。
- Android アプリをリンクする際、上記でサンプル パッケージの名前を変更したときに使用した新しいパッケージ名を正確に指定してください。
- キーストアや署名済みの証明書がない場合は、Android Studio で署名済み APK の生成ウィザードを使用して、新しく生成できます。署名済み APK の生成ウィザードの使用方法については、Android Studio でのアプリの署名についての記事をご覧ください。
- 後で確認できるよう、以下の情報をメモしておきます。
- アプリケーション ID: クライアント ID の先頭部分にある、数値(通常 12 桁以上)のみで構成された文字列です。
- 署名証明書: API アクセスのセットアップ時に使用した証明書(SHA1 フィンガープリントを指定した証明書)をメモしておきます。アプリのテストやリリースに際し、同じ証明書を使用してアプリに署名する必要があります。
- Type-a-Number Challenge の実績を設定します。
- Google Play Console で [実績] タブを選択します。
- 次のようなサンプルの実績を追加します。
名前 説明 特記事項 Prime 素数のスコアを獲得します。 なし Humble スコア 0 点を獲得します。 なし Don't get cocky, kid いずれかのモードでスコア 9999 点を獲得します。 なし OMG U R TEH UBER LEET! スコア 1337 点を獲得した場合に達成となります。 隠しクエストとして設定します。 Bored ゲームを 10 回プレイします。 10 ステップでロック解除される増分実績として設定します。 Really Really Bored ゲームを 100 回プレイします。 100 ステップでロック解除される増分実績として設定します。 - 作成した各実績の ID(長い英数字の文字列)を記録します。
- 作成するゲームに合った実績を設定します。詳細については、実績の背後にあるコンセプトについての記事と Android での実績の実装方法についての記事をご覧ください。
- Type-a-Number Challenge 用のリーダーボードを設定します。
- Google Play Console で [リーダーボード] タブを選択します。
- 「Easy High Scores」と「Hard High Scores」という名前の 2 つのサンプル リーダーボードを追加します。どちらのリーダーボードも、[スコアの形式] として [小数点以下の桁数] が 0 の整数を使用し、[順番付け] を [スコアは高いほど良い] とします。
- 作成した各リーダーボードの ID(長い英数字の文字列)をメモします。
- 作成するゲームに合ったリーダーボードを設定します。詳細については、リーダーボードの背後にあるコンセプトについての記事と Android でのリーダーボードの実装方法についての記事をご覧ください。
- ゲームのテスト アカウントを追加します。この手順が必要なのは、Google Play Console にまだ公開しないアプリだけです。アプリを公開するまでは、Google Play Console の一覧に表示されるテスト アカウントでのみログインできます。アプリが公開されると、誰でもログインできるようになります。
ステップ 3: コードの変更
ゲームを実行するには、Android プロジェクトにリソースとしてアプリケーション ID を設定する必要があります。また、AndroidManifest.xml
にゲームのメタデータを追加する必要があります。
res/values/ids.xml
を開いて、プレースホルダ ID を置き換えます。まったく最初から Android ゲームを作成する場合は、最初にこのファイルを作成する必要があります。app_id
リソースにアプリ ID を指定します。- 上記で作成した各実績 ID を、対応する
achievement_*
リソースに指定します。 - 上記で作成した各リーダーボード ID を、対応する
leaderboard_*
リソースに指定します。
AndroidManifest.xml
を開き、<manifest
> 要素のpackage
属性にパッケージ名を入力します。まったく最初から Android ゲームを作成している場合は、<application
> 要素内に必ず以下のコードも追加します。<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"/>
ステップ 4: ゲームのテスト
Google Play Games サービスがゲーム内で正常に機能しているかどうか確認するため、Google Play に公開する前にアプリをテストしてください。
実機のテストデバイスでゲームを実行するには:
- 手順 2 で説明した、アプリへのログインに使うテスト アカウントがセットアップされていることを確認します。
- APK をエクスポートして、Google Play Console でプロジェクトをセットアップする際に使用したものと同じ証明書で署名します。Android Studio で署名済み APK をエクスポートするには、[Build] > [Generate Signed APK] をクリックします。
adb
ツールを使用して、実機のテストデバイスに署名済み APK をインストールします。アプリのインストール方法については、デバイスでの実行についての記事をご覧ください。