LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

Android Lでより強力になったNotification

こんにちは。7月からAndroidチームに配属されました衛藤です。

先月の6月25, 26日に、Google最大のイベント"Google I/O 2014"が開催されました。
私自身は参加していないのですが、YouTubeでの配信を見ていたところ、
Notificationについての話がちらほらと出ていましたので、その辺りを書いてみたいと思います。

Notificationについて

スマホユーザにはおなじみのNotificationですが、Googleによると下記のように説明されています。(そのままですが・・・)

A notification is a message you can display to the user outside of your application's normal UI.

iOSなんかでは、ロック画面に通知が表示され、そこからダイレクトにアプリに飛べたりするのですが、 Androidではそれ専用のWidgetアプリくらいしかありませんでした。
現状だと、画面の上からスワイプして通知画面を引き出して来ないと通知が分かりません。
この通知ですが、ユーザにアプリを開いてもらうための強力なツールになります。

プロモーション、そして継続利用

アプリをリリースした後に重要になってくることが二つあります。
1. プロモーション
2. アプリの継続利用

  1. プロモーションでは、広告やプレスリリース等でアプリをより多くの人に知ってもらいます。TwitterのRT拡散も結構効果あり。
  2. より多くのユーザにアプリをストアから落としてもらうのは一番重要ですが、アプリの継続利用も意識する必要があります。そこで継続利用に欠かせないNotificationを活用しより多くのユーザに長く使って頂く。開発者にとっても非常にうれしいことですね。

今回のGoogle I/Oでは、Notificationが強化された、という説明がいろんなセッションで出ていました。
仕組みというよりはビジュアル面がメインのテーマでしたが、ようやくロックスクリーンにも表示できるようになりました。
以下、セッションから一部抜粋しながらまとめていきます。

Google I/O 2014 - Keynote から

Android Lセクション(25:00前後)
  • 人々がポケットから端末を取り出しチェックする一番のトリガーは・・・Notiifcationである。それも1日何十回も。
  • Android LではNotificationが強化され、ロックスクリーンから直接アプリへ飛ぶことができる。
  • アプリを使っている途中でも、上からNotificationが表示されるようになる。邪魔な場合は横にスワイプすればよい。
Android Wearセクション(49:00前後)
  • Androidユーザは1日平均125回、Android端末を取り出している。そのため、Android Wearは素早く、必要な情報が一目でわかるように設計されている。
  • Notificationをバイブレーションとともに知らせることで、重要なメッセージを逃すことなく確認できる。
  • AndroidスマートフォンとAndroid Wearは通知も連携できる。

Google I/O 2014 - What's New In Android から

Notifications(21:50前後)
  • Material Designに沿った見た目になった。
  • 新しいテンプレート"Media Style"が追加された。
  • Android Lより前のバージョンだと4つの通知を確認するまで4つのステップが必要であった。
    1. 端末が鳴る/バイブレーションを確認する
    2. 端末の電源ボタンを入れる
    3. ロック画面を解除する
    4. 上から通知画面をスワイプしてくる
  • Android Lからは・・・
    • 端末が鳴る、電源ボタンを押す、それだけ。
    • プライバシー設定により、アプリがどんな内容で通知すべきか制御できる。
  • プライバシー設定のバリエーション(.setVisibility(Notification.VISIBLITY_***))
    • VISIBILITY_PUBLIC : 内容は誰でも見ることができる。
    • VISIBILITY_PRIVATE : 内容は本人だけがロック解除後に見ることができる。
    • VISIBILITY_SECRET : アイコン含み何も表示されない。
  • 背景の色も独自に設定できる(.setColor(***))

一応サンプルコード

Android 4.4まではステータスバーへの通知になります。
Notification.BuilderはAPIレベル11からのものなので、それ未満の場合はSupportPackageに入っているNotificatoinCompat.Builderを使う必要があります。

    Intent intent = new Intent(this, MyActivity.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
    builder.setContentIntent(pendingIntent);
    builder.setTicker("Ticker");
    builder.setContentTitle("Content Title");
    builder.setContentText("Content Text");
    builder.setSmallIcon(R.drawable.ic_launcher);
    NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    mgr.notify(0, builder.build());

今後、Android Lが正式に出るとロック画面への表示が出来るようになります。 なお、下記のようにaddAction()によって通知領域内にボタンを6個くらいまで設置することができるようです。 音楽アプリ系でよく使われそうです。

    .addAction(R.drawable.skip_previous, "Previous track", prevIntent)
    .addAction(R.drawable.fast_reverse, "Rewind", rewIntent)
    .addAction(R.drawable.puase, "Pause", pauseIntent)
    .addAction(R.drawable.fast_forward, "Fast forward", ffIntent)
    .addAction(R.drawable.skip_next, "Next track", nextIntent)
    .setColor(R.color.app_color)
    .setStyle(new Notification.MediaStyle()
    .setShowActionsInCompactView(2)
    .setMediaToken(mediaToken)

まとめ

Android Lからロックスクリーンに通知機能が追加になるとともに、Android Wearとの連携も可能になります。
また、現行と同じくNotificationのスタイルもBigPicture/BigText/Inboxなどが選べるため、表現の仕方によっては、アプリの継続利用率も上がってくるのではと思います。

特に何かを探す系のアプリなんかでは、PUSH通知と組み合わせておすすめ情報の通知(画像と共に)、在庫などに合わせて「残り○○ですよ!」みたいな通知、スケジューラとの連動など、アプリを有効活用してもらう仕組みの幅が広がりそうですね。

色やアイコンも自由なので、コーポレートカラーやアプリのテーマカラー、アイコン等を積極的に取り入れ、自社のイメージを前面に押し出していくこともブランディングの一つになりそうです。

ちなみに、通知は時間帯も非常に重要です。
自分で使っていれば分かると思いますが、一番使う時間帯は・・・

  • 寝る前など家にいるとき
  • 通勤電車
  • 昼休憩など

http://research.rakuten.co.jp/report/20120524/
楽天のスマートフォンの使用実態に関する調査より

一番スマホが見られている時間帯に、「アプリを見たい!」と思わせる通知を見せる、これだけでも効果は違うのでは、と思います。

以前からNotificationは重要だといわれてきましたが、今回Android Wearとも連動し
今後Notificationはアプリにとってさらに強力なツールになっていく、そう思ったテーマでした。

最後まで読んでいただき、ありがとうございました!