質量

特技は長座体前屈です

Nearby Message API を試してみた

Nearby API

Nearby API は『Google Play Searvices 7.8』で追加された、BluetoothWi-Fi、そして人間の耳には聞こえない音を使って情報を共有を可能にする APIAndroid(2.3以上)と iOS で動作する。

既にいくつかの Google のアプリで使われているようだ。 Nearby API の概要については、下に貼った Google 公式ブログの記事を参照してほしい。

ドキュメント https://developers.google.com/nearby/developer-guidelinesdevelopers.google.com

Google 公式ブログ Nearby API であなたを取り巻く世界とつながる - Google Developer Japan Blog

以下、Nearby Message API を試した感想など。

サンプルを動かす

とりあえずサンプルを動かしてみる

公式のサンプルがあるので clone してみる。

github.com

README にも書いてあるとおり、API キーが必要になるので Google Developers Console から Nearby Messages API を有効にして、アプリの署名の SHA1Android キーに登録。キーが作成されるので、それを AndroidManifest.xml に追加したら準備完了。

サンプルを実行するとこんな感じ。

f:id:teshi04:20150921162956p:plain

『Discover neardy』 で Subscribe (受信)、『Share device』で Publish (送信) するようになっている。

Nearby しようとするとパーミッションの確認ダイアログが現れる

f:id:teshi04:20150921155759p:plain

Nearby Message ではバイト配列が送信できる。

公式のサンプルでは、Java オブジェクトを Json 文字列にしてそれをバイト配列にしたものを送信していた。*1 表示されているのは Build.MODEL。

『いぇ〜〜〜〜い』と表示させる。

Subscribe 時も、Publish 時も音が鳴る。

この音は、デバイスによっては普通に聞き取れる。普通に聞き取れなくても、デバイスの音量を上げて、デバイスに耳を押し当てると聴こえると思う。

手元にあるデバイスで試してみたところ、デバイスによって音が違って楽しい。

Nexus 5 「シューン、シューン」

Nexus 7 「ジジジジジ、ジジジジジ」

SO-04F (どんな音がしたか覚えてないけどすごくうるさい)

試してみた

設定を変えて試してみる(検証端末 Nexus 5)

『Nearby では BluetoothWi-Fi、および不可聴のサウンド (デバイスのスピーカーとマイクを使用する) の組み合わせを使用して、通信可能な近接領域を確立します。』と公式ブログにある。Wi-FiBluetooth をどちらかをオフにして Nearby を試すと以下のようになった。

Wi-Fi オフ・Bluetooth オン:Nearby 失敗

Wi-FI オン・Bluetooth オフ:Nearby を使う時だけ勝手に Bluetooth がオンになって成功

Wi-FIBluetooth も必須だということが分かる。

周りがうるさくても Nearby できるか

『Edjing Pro は、Nearby を使用し、DJ がトラックリストを周囲の人々に公開できるようにします。リスナーは気に入ったトラックに投票し、その投票結果がリアルタイムで更新されます。』と公式ブログにある。

DJ が曲流していたら、うるさくて Nearby 音かき消されないのかな?と思ったのでうるさくても Nearby できるか試した。

マイケル・ジャクソンの『スリラー』を部屋のスピーカーから流して、そのスピーカーの前にデバイスを置いて Subscribe。部屋の隅っこでもう一台のデバイスで Publish してみる。Nearby 成功。

まとめ

Nearby みんなでやったら楽しいかもしれない。なんかアプリ作りたいな!

*1:Gson 使ってた