2016で発表された新しいFirebaseの機能の中から筆者が特に重要と考える機能をピックアップして実際にアプリに組み込む方法をコード例を交えてご紹介したいと思います。MessagingをFirebaseブランドに取り込んで生まれ変わった次の2つの機能を解説します。Notificationsはお互いに無関係な機能ではなく密接な関わりがあります。MessagingはAndroidのみならずiOS、Webなどクロスプラットフォームにメッセージ(たとえばプッシュ通知)を効率的に配信するための基盤となるシステムです。Messagingサーバ群はHTTPやXMPPをサポートしており、すでに運用している自社サービス等と柔軟に連携しながらメッセージを配信することができます。MessagingをWeb越しから使うための便利なコンソールという位置づけです。Messagingを制御するために自前でサーバを用意する必要もありませんし、1行のコードを書く必要もなく、わかりやすいWebコンソールから簡単にユーザにメッセージを配信することができます。Messagingには2種類のメッセージタイプが存在します。メッセージタイプによって受信したときの取り扱い方法が違うので、この違いを理解しておくことは非常に重要です。次の表にメッセージタイプとその違いを示します。いわゆるプッシュ通知としてユーザ端末で表示されることを意図されたメッセージタイプ。titleやbodyなど、プッシュ通知でよく使われるキーがあらかじめ定義されている。利用者が任意のキーバリューペアを設定できる。どのような値をセットするかも自由であるし、どのように利用するかもユーザに任されている。これをプッシュ通知として利用しても何ら問題ない。Message前出の表のとおり、プッシュ通知として利用されることを想定されたメッセージタイプです。title、body、iconなどのプッシュ通知でよく使われるキーがあらかじめ定義されており、この形式に則ってメッセージを作成します。メッセージは次のようなJSONで表現されます。Messageではnotificationというキーの下に定義済みのキーとセットになる値を指定します。match!という本文のプッシュ通知がmyiconというアイコンで表示されます。Messageとして送信しておけば、Android側でほとんど1行もコードを書かなくてもバックグラウンドで通知を受診時にNotificationを表示してくれたりと便利なメッセージタイプです。その代わり定義済みのキー以外は利用できず、またペイロードサイズ(データサイズ)も2KBと小さめです。定義済みのキーの一例は次の表のとおりです。