[この記事は Hoi Lam、デベロッパー アドボケートによる Google Developers Blog の記事 "What’s in a message? Getting attachments right with the Google beacon platform" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

ユーザーのデバイスが世界のどこにあるのか(デバイスのある場所、またはデバイスの近くあるオブジェクト)を認識していれば、最も重要なときに、アプリは環境に適応して有用な情報をもたらします。ビーコンは現実世界のロケーションやコンテキストに明示的にラベル付けするための優れた方法です。しかし、ショッピング モールやお店の前に立っていたり、駐車場をうろうろしていたりするときではなく、駅の 9 番ホームにいる場合、アプリはそのメッセージをどのようにして受け取るのでしょうか?

Google ビーコン プラットフォームでは、 Proximity Beacon API の添付ファイルを使用することにより、登録済みのビーコンと情報を関連付けることができ、 Nearby Messages API を経由して、添付ファイルをメッセージとしてユーザーのデバイスに提供することが可能です。この記事では、添付ファイルとメッセージを最も効果的に使用して、アプリをコンテキストにより対応したものにする方法について説明します。

ビーコンごとにではなく、メッセージごとに考える

ある大きな鉄道駅を対象にしたアプリを作成しているとします。駅に到着したばかりで切符販売機を探しているユーザーと、予約席に近い場所で列車を待つユーザーには、それぞれ異なる情報を提供する必要があります。この場合、ホーム、入り口、待合所といった重要な場所をラベル付けする複数のビーコンが必要になります。各ビーコンの添付ファイルは同じこと(たとえば、駅名)もあれば、異なること (たとえば、ホーム番号) もあります。ここで、Android と iOS の Proximity Beacon API および Nearby Messages API の設計が役立ちます。

アプリが Nearby Messages API を経由してビーコン添付ファイルを取得する際、各添付ファイルはビーコンによりグループ化されておらず、個別のメッセージとして表示されます。さらに、Nearby Messages により自動的に添付ファイルすべての重複が排除されます(添付ファイルが複数のビーコンから取得したものであっても)。つまり、下図のような状況になります。
このデザインにはいくつかの利点があります。

  • API が実装(この場合、ビーコン)から抽象化されます。つまり、将来、メッセージを送信する別の種類のデバイスが登場した場合、そのデバイスを容易に適応させることができます。
  • 重複の排除をビルトインできるということは、上記の例の駅名のように、同じメッセージに対する応答を独自にビルドする必要がないということです。
  • よりきめ細かいコンテキスト メッセージを、再デプロイなしに、後から追加できます。

ビーコンのユーザー エクスペリエンスを設計するときは、ユーザーのコンテキストとアプリにとって重要な場所と物体について検討したのち、これらの場所にラベル付けしましょう。Proximity Beacon API によりビーコンの管理が簡単になります。そして、Nearby Messages API によりハードウェアが抽象化されるので、関連性のあるタイムリーなエクスペリエンスの作成に集中することができます。ビーコンそのものは、ユーザーにとって意識しなくて良いものとして扱われるべきです。

外部リソースでのビーコン添付ファイルの利用

ほとんどの場合、添付ファイルとして保管されるデータは自己完結型であり、外部データベースへの参照を必要とすることはないでしょう。ただし、データを別で保管したい場合があります。

  • 画像やビデオなどの容量の大きなアイテム。
  • 自分で制御できないサードパーティーのデータベース システム上にデータが存在する場合。
  • ビーコン添付ファイルとして保存すべきではない機密または極秘データ。
  • 独自のデータベースに依存する専用認証システムが稼働している場合。

このような場合、インフラストラクチャから関連データを検索するために、より一般的な識別子をビーコンの添付ファイルに使用する必要がある場合があります。

仮想世界と現実世界の結合

ビーコンは、パーソナル化とコンテキスト認識がもたらす仮想世界を、最も重要な場所や物事が存在する現実世界に結び付けることによって、ユーザーに素晴らしいエクスペリエンスを提供します。Google ビーコン プラットフォームは、添付ファイルを通じて、ビーコンの識別子の範囲を超えたリッチなコンテキストをアプリにもたらし、ユーザーにより優れたサービスを提供できるようにします。ぜひ、2 つの世界を結び付ける素晴らしいアプリを構築してください。

Posted by Yoshifumi Yamaguchi - Developer Relations Team