このドキュメントでは、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 を開きます。
[外観と動作] > [システム設定] > [Android SDK] > [SDK Tools] で、次のパッケージがインストールされていることを確認します。
- Google Play 開発者サービス
- Google Repository
ステップ 2: Google アカウントを取得する
Nearby Messages API を使用するには、Google アカウントが必要です。 これは、デベロッパーが次のステップで Nearby API を有効にするために必要です(ユーザーは Google アカウントを必要としません)。 アカウントをすでにお持ちの場合は、準備は完了です。テスト用に別の Google アカウントを取得することもできます。
ステップ 3: API キーを取得する
次の手順に沿って、Android 用の Google Nearby Messages API を有効にして 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
- プロジェクトの API キーのリストに、新しい Android 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.3.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 にはユーザーの同意が必要です。公開または登録が初めて呼び出されると、ニアバイシェアにオプトイン ダイアログが表示されます。