さて、今日は通知にページを追加する方法です。
昨日までの記事は以下になります。
- GoogleがスマートウォッチOS “Android Wear” を発表したのでテスターになってみた
- Android Wearで通知から音声入力を受け取る
- Android WearでRemoteInputを使って通知から音声入力を受け取るとろこまで試してみる
- Android Wearの通知にページを追加する
Android Wearの通知をスタックする方法を学びます。ポイントは、ウェアラブルデバイスではスタックとしてグループ化し、携帯デバイス上では、要約した1つの通知にまとめる点です。
では今日もこちらを翻訳しながら読み進めていきます。
通知をスタックする
携帯デバイス向けに通知を作成するとき、類似した通知は常に要約された1つの通知に集約する必要があります。例えば、アプリが受信したメッセージの通知を作成する場合、さらに他の通知を携帯デバイスに表示すべきではありませんーこのようにさらに他の通知を受け取った場合は、「2 new messages」のように要約された1つの通知を使用します。
しかしながら、要約された通知はユーザーはウェアラブル上でそれらメッセージの詳細を読むことが出来ないので、Androidウェアラブルではあまり有用ではありません(より多くの情報を表示するには携帯でアプリを開く必要があります)。そのためウェアラブルデバイスでは、すべての通知をまとめてスタックに入れるべきです。通知のスタックは1枚のカードとして表示され、通知の詳細をそれぞれ個別に広げて見ることができます。新しいsetGroup()メソッドがこれを実現し、要約された1つの通知をハンドヘルドデバイスに提供することが可能になります。
通知のスタックに関する設計の詳細については、Design Principles of Android Wearを参照して下さい。
通知をグループに追加する
スタックを作成するにはスタックに入れたい通知に対しsetGroup()を呼び出します。例を示します。
[java]
final static String GROUP_KEY_EMAILS = “group_key_emails”;
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext)
.setContentTitle(“New mail from ” + sender)
.setContentText(subject)
.setSmallIcon(R.drawable.new_mail);
Notification notif = new WearableNotifications.Builder(builder)
.setGroup(GROUP_KEY_EMAILS)
.build();
[/java]
デフォルトでは、通知は追加した順に表示され、直近の通知が一番上に表示されます。setGroup()の第2パラメータに表示順を渡すことで、グループ内での場所を明示的に定義することが出来ます。
通知の要約を追加する
それから、携帯デバイスに表示するための通知の要約を提供することも重要です。そのため一意の通知を同じスタックグループに追加することに加えて、通知の要約を追加することも重要で、それには表示順としてGROUP_ORDER_SUMMARYを設定します。
[java]
Notification summaryNotification = new WearableNotifications.Builder(builder)
.setGroup(GROUP_KEY_EMAILS, WearableNotifications.GROUP_ORDER_SUMMARY)
.build();
[/java]
この通知は、ウェアラブル上のスタックの通知の通知としては表示されず、携帯デバイス上だけの通知として表示されます。
さて、以上でAndroid Wear Developer Previewの機能にひと通り目を通しました。
次回からは、Googleから提供されているサンプルアプリケーションを解析してみたいと思います。