[この記事は Wayne Piekarski、デベロッパー アドボケートによる Android Developers Blog の記事 "Always-on and Wi-Fi with the latest Android Wear update" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Android Wear の新しいアップデートでは、Always-on アプリ、Wi-Fi 接続、メディア ブラウジング、絵文字入力などの多くの新しい機能がリリースされました。ここでは、このリリースで利用できる優れた新機能の一部をご紹介します。

Always-on アプリ

腕時計にまず第一に必要なことは簡単に時間を確認できることです。そのためほとんどの Android Wear ウォッチは Always-on ディスプレイを備えており、手首を振ったり腕を持ち上げたりしてディスプレイをオンにする必要はありません。このリリースでは、アプリも Always-on にできるようになります。

Always-on 機能を利用すると、アンビエント モードがオンの際もアプリが端末で動的データを表示できるようになり、継続的に更新される情報を表示するアプリで特に便利です。たとえば Endomondo、MapMyRun、Runtastic のようなランニング アプリは、Always-on スクリーンを使ってユーザーが走った時間や距離を表示し続けます。Zillow は、ユーザーが家探しをしているときに、付近の住宅の平均価格について随時ユーザーに通知します。

Always-on 機能は、データの更新が頻繁でなくても、参考情報を表示し続けるアプリにも便利です。たとえば Bring! を使うと、手首の上で買い物リストを表示し続けられます。また Golfshot は、ゴルフのティーからピンまでの正確な距離をユーザーに伝えます。American Airlines、Delta、KLM などのアプリを使えば、ユーザーが空港にいてゲートに向かっているときにウォッチをさっと見るだけでフライトに関するあらゆる情報を把握できます。

注: Android Wear が最新バージョンにアップデートされるまでは、上記のアプリで Always-on 機能を使うことはできません。

Always-on 機能は、ディスプレイの色とリフレッシュ レートを抑えることでディスプレイとプロセッサの電力消費を最小限に抑えているという点でウォッチ フェイスと似ています。Always-on アクティビティを実装するには、アプリの AndroidManifest.xml、build.gradle、アクティビティにいくつかの小さな変更を加えて、アンビエント モードのサポートを宣言する必要があります。詳細については、コードサンプルドキュメントをご覧ください。先日の Google I/O Android Wear: Your app and the always-on screen のライブストリームも是非ご覧ください。

Wi-Fi 接続とクラウド同期

既存の Android Wear 端末の多くで既に Wi-Fi がハードウェア サポートされていますが、このリリースにより Wi-Fi のソフトウェア サポートが可能になります。ウォッチのセットアップ時に、携帯端末に保存された Wi-Fi ネットワークがコピーされ、携帯端末への Bluetooth 接続が切れると、コピーした Wi-Fi ネットワークに自動的に接続されます。Wi-Fi ネットワークに接続したウォッチはインターネットから携帯端末に接続できます。この場合、同じ Wi-Fi ネットワーク内でなくても携帯端末に接続できます。

ウォッチと携帯端末間のすべての通信には Data Layer API を引き続き利用する必要があります。この標準 API を利用することで、ユーザーのウェアラブル端末がどの種類の接続をサポートしている場合でもアプリが動作するようになります。クラウド同期は、Data Layer にクラウドノードと呼ばれる新しい仮想ノードを導入します。この仮想ノードは getConnectedNodes() の呼び出しで返されることがあります。詳細については、複数のウェアラブル端末サポートに関する次のセクションをご覧ください。

複数のウェアラブル端末のサポート

Google Play サービス 7.3 のリリースにより、複数のウェアラブル端末を 1 台の携帯端末またはタブレットに同時にペア設定できるようになりました。これで運動するときとおしゃれするときに別のウェアラブル端末を身につけることもできます。DataItems はあらゆる端末と同期するため、引き続き以前と同じように動作しますが、MessageApi を使用する場合は注意が必要です。バージョン 7.3 以上を使用するように build.gradle を更新した場合、NodeApigetConnectedNodes()通常、複数のノードを返します。また、Wi-Fi 通信用に使用するクラウドノードを表すため、仮想ノードが 1 つ追加されました。開発時はこの状況にあわせてコーディングする必要があります。

多くの端末から適切なノードを見つけやすくするため、CapabilityApi が追加されました。これで画像や音楽のダウンロードなど、そのノードが提供している機能を通知できるようになります。また、ChannelApi を使用して特定の端末への接続を開き、画像や音声ストリームなどのサイズの大きいリソースを転送できるようになりました。そのため、アセットをデータアイテムに埋め込んだ場合に、今までのようにすべての端末に送信する必要はなくなりました。Android Wear の サンプルドキュメントを更新して、この機能のベスト プラクティスを記載しましたので、ご覧ください。

MediaBrowser のサポート

Android 5.0 リリースでは、android.media.browse API を使ってアプリが別のアプリのメディア コンテンツをブラウズできる機能が追加されました。Android Wear 最新アップデートでは、メディア再生アプリがこの API をサポートしていれば、ウォッチで直接ブラウズして次の曲を見つけることができます。これは、Android Auto で使用されているものと同じブラウズ機能です。この API は 1 度実装するとさまざまなプラットフォームで動作します。そのために必要なのは、onGetRoot() メソッドの validator で Android Wear によるアプリの参照を許可することだけです。また、ウォッチにコントロールとして表示される MediaSession にカスタム アクションを追加することもできます。この機能の実装方法については、Universal Media Player のサンプルをご覧ください。

既存の端末へのアップデート

Android Wear の最新バージョンは、アップデートされた無線配信(OTA)経由で、ここ数週間のうちに Android Wear を搭載したすべてのウォッチに展開される予定です。上述の新しい機能を利用するには、targetSdkVersion 22 を使用して Always-on サポートに必要な依存関係を追加する必要があります。現在利用可能なすべての端末、解像度、形状(Moto 360 のような丸形など)で動作をシミュレートできるよう、SDK Manager で利用できるエミュレータのコレクションも追加しています。

また 12 月に発表したように、このアップデートではウォッチ フェイスを表示するために非公式でアクティビティ ベースの方法を用いているアプリへのサポートを廃止しています。このウォッチ フェイスは動作しなくなるため、更新して新しい Watch Face API を使用する必要があります。

昨夏の開始以来、Android Wear は さまざまな形状とスタイル、多様な時計バンド、何千ものアプリとウォッチ フェイスで提供され、ユーザーが腕時計を自分好みにカスタマイズできるプラットフォームに成長してきました。Always on アプリや Wi-Fi といった機能によって開発がさらに柔軟に行えるようになり、ユーザーに Android Wear のすばらしさをさらに感じていただけるようになります。

Posted by Takeshi Hagikura - Developer Relations Team