Mirror API には、Glass 向けのサービスを構築するための構成要素が用意されています。Glass のサービスは、デベロッパーが開発した他のソフトウェアとは異なる可能性が高いため、Mirror API の機能をどのように組み合わせればよいかわからなくなるかもしれません。
多くのサービスは、API の使用に関するいくつかのカテゴリに分類されます。Mirror API の機能を組み合わせて Glass サービスを作成する方法を、いくつかのストーリーでご紹介します。
猫に関する豆知識
Glass タイムラインへのコンテンツの配信は、Google Mirror API のシンプルかつ強力な使用方法です。 Cat Facts サンプルの Glassware では、猫に関する豆知識をユーザーに伝えて、 次のフローに沿って操作します。
- ユーザーがウェブ アプリケーションにアクセスし、OAuth 2.0 で認証して登録します。
- 新しい Cat Fact が、1 時間ごとに、ガラス。
Cat Facts を実装するには、Timeline 挿入メソッドを使用します。
- ユーザーは OAuth 2.0 で認証することで登録する
- Cat Facts は、ユーザーとその認証情報のインデックスを保存します。
- Cat Facts は 1 時間ごとに新しい Cat Fact を公開しています。これは、保存されているすべてのユーザーを反復処理し、タイムライン アイテムをタイムラインに挿入することで行われます。
そこに猫を追加しましょう
人間の技術が進歩するごとに、猫の写真を配布するための方法が改善されています。Project Glass も例外ではありません。
猫が登場する写真に優れているものはありません。このサービスを使用すると、ランダムな猫の画像と、Glass で撮影した写真を合成できます。
- ユーザーがウェブ アプリケーションにアクセスし、OAuth 2.0 で認証して「Add a Cat to That」をインストールします。
- サービスが、ユーザーの Glass に「Add a Cat to That」という新しい連絡先を作成します。
- ユーザーが写真を撮ると、「Add a Cat to That」で共有され、
- このサービスでは、共有された写真に猫のランダムな画像が合成されます。
- 最後に、猫が補正した写真をユーザーの Glass に配信します。
アーキテクチャの観点からは、このサービスは次の API フローに従います。
- ユーザーは OAuth 2.0 で承認します。サービスによって認証情報が保存されます。
- OAuth 2.0 ダンスが完了した直後に、サービスによって「Add a Cat to That」という連絡先が挿入されます。
- 次に、
timeline
コレクションの登録を挿入して、サービスはユーザーのタイムラインの更新をサブスクライブします。これで「Add a Cat」の設定が完了しました。 - ユーザーは時間の経過とともに写真を撮ります。
- ユーザーが「Add a Cat to That」と写真を共有し、これにより、サービスからこの写真に関連付けられたタイムライン カードにアクセスできるようになります。
- サービスでタイムライン更新の通知が送信されるため、サービスに通知が送信されます。この通知は、共有された写真を含むタイムライン アイテムにリンクされています。
- サービスが通知を調べ、付属の
id
を使用して写真を含むタイムライン カードを取得します。 - 次に、サービスはタイムライン アイテムを調べ、添付ファイル ID を使用して写真のバイトを取得します。
- サービスが猫の画像をランダムに選択し、共有写真に合成します。
- 最後に、サービスが新しいタイムライン カードを作成し、猫が補正された写真が添付されたユーザーのタイムライン カードに挿入します。
付近のペットショップ
猫についての事実や猫の写真よりも優れている点が 1 つあります。それは、実在する、肉体的、ふわふわの猫です。Mirror API を使用すると、最寄りのペットショップの場所を常に把握できるため、より簡単に対応できます。
次のように使用します。
- ユーザーがウェブ アプリケーションにアクセスし、OAuth 2.0 で認証して登録します。
- ユーザーの現在地は、サービスによって異なります。
- このサービスは、その場所の近くのペットショップを検索します。
- 近くにあるペットショップの一覧が時計の左側にカードが挿入されます。
- Glass はユーザーの現在地をサービスに通知します。
- 通知ごとにペットショップの検索が繰り返され、固定されたカードが更新され、最寄りのペットショップの新しいセットが反映されます。
このサービスの実装は、次の API フローで行います。
- ユーザーは OAuth 2.0 で承認します。アプリケーションは、通常の
glass.timeline
スコープに加えてglass.location
スコープへのアクセスもリクエストします。 - OAuth 2.0 のダンスが終わった直後に、サービスはユーザーの位置情報の更新を受信します。
- 次に、サービスは位置情報エンドポイントからユーザーの最新の位置情報を取得します。
- サービスがユーザーの近くのペットショップを検索します。
- このサービスでは、ペットショップの検索結果を一覧表示する
timeline
カードが作成されます。このカードを時計画面の左側に残すために、サービスによってこのカードが固定されています。 - ユーザーが動き回ると、最新の位置情報が更新されます。
- サービスに登録している位置情報の更新情報があるため、サービスに通知が送信されます。この通知は、
location
コレクションのlatest
個のアイテムにリンクされています。 - その通知に基づいて、サービスは
location
コレクションからユーザーのlatest
location
を取得します。 - 次に、ユーザーの近くのペットショップを検索します。
- 最後に、サービスは
patch
メソッドを使用して、手順 5 で挿入したタイムライン アイテムの本文を更新します。