このドキュメントでは、Android で Nearby Messages API を使用して開発を開始する方法について説明します。Nearby Messages API は Google Play 開発者サービスの一部です。
手順 1: Google Play 開発者サービスを入手する
Nearby Messages API は、Google Play 開発者サービス 7.8.0 以降を搭載した Android デバイスで利用できます。Android 2.3 以降を搭載し、Google Play ストア アプリをインストールしたデバイスは、Google Play 開発者サービスのアップデートを自動的に受信します。デバイスにインストールされている Google Play 開発者サービスのバージョンを確認するには、[設定] > [アプリ] > [Google Play 開発者サービス] に移動します。
開発ホストに、Google Play 開発者サービス用の最新のクライアント ライブラリがインストールされていることを確認します。
- Android SDK Manager を開きます。
[Appearance & Behavior] > [System Settings] > [Android SDK] > [SDK Tools] で、次のパッケージがインストールされていることを確認します。
- Google Play 開発者サービス
- Google リポジトリ
ステップ 2: Google アカウントを取得する
Nearby Messages API を使用するには、Google アカウントが必要です。これにより、デベロッパーは次のステップで Nearby API を有効にできます(ユーザーは Google アカウントを持っている必要はありません)。すでにアカウントをお持ちの場合は、完了です。テスト用に別の Google アカウントを取得することもできます。
ステップ 3: API キーを取得する
Google Nearby Messages API for Android を有効にして、API キーを取得する手順は次のとおりです。
- Google Developers Console に移動します。
- アプリケーションを登録するプロジェクトを作成または選択します。
- [続行] をクリックして API を有効にします。
- [認証情報] ページで、新しい Android キーを作成し、API 認証情報を設定します。
注: 既存の Android キーをお持ちの場合は、そのキーを使用できます。 - 表示されるダイアログで、アプリの SHA-1 フィンガープリントとパッケージ名を入力します。次に例を示します。
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.nearbyexample
- 新しい Android API キーがプロジェクトの API キーのリストに表示されます。API キーは「
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
」のような文字列です。
証明書の SHA1 フィンガープリントを取得する
Android アプリ用の新しい API キーを作成するには、APK の署名に使用する証明書の SHA1 フィンガープリントが必要です。メッセージは、同じプロジェクトの API キーで署名されたアプリ間でのみ交換できます。
このフィンガープリントを取得するには:
- キーストアの場所を確認します。
- ターミナルで、JDK から
keytool
ユーティリティを実行します。たとえば、`debug`
キーストアを使用している場合は、次のようにします。 keytool
コマンドの出力には、証明書の SHA1 フィンガープリントが含まれます。
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
注: デバッグ キーストアの場合、パスワードは android
です。Mac OS と Linux の場合、デバッグ キーストアは通常 ~/.android/
にあります。Windows の場合、通常 %USERPROFILE%\
にあります。
ステップ 4: プロジェクトを構成する
Android Studio を使用すると、Nearby Messages API のプロジェクトを簡単に作成できます。プロジェクトの作成の手順に沿って、新しいプロジェクトを作成します。Android Studio で、モジュールの build.gradle
ファイルを開き、Google Play 開発者サービス クライアント ライブラリを依存関係として追加します。
apply plugin: 'android' ... dependencies { compile 'com.google.android.gms:play-services-nearby:19.1.0' }
次に、前の手順で生成した API キーを使用してマニフェストを構成します。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.sample.app" >
<application ...>
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_KEY" />
<activity>
...
</activity>
</application>
</manifest>
ステップ 5: 公開とサブスクライブ
アプリで Nearby Messages API の使用を開始します。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
Nearby Messages API にはユーザーの同意が必要です。公開またはサブスクライブのいずれかが初めて呼び出されると、Nearby にはオプトイン ダイアログが表示されます。