• このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加
firebase_img01
いつもGrowthbeatをご利用いただきましてありがとうございます。
台風直撃!とかニュースアプリのプッシュ通知で、またかよー!!とかなっているのですが、めげずに、Firebase Cloud Messaging(FCM) の機能紹介をさせていただこうかと思います。
FCMには 簡単に特定の複数ターゲットにプッシュ通知を送れる仕組みとして、
Device Group Messaging があります。
これは、メッセージ送信の to パラメータにグループを指定することで、そのグループに属する端末たちの通知が同期される仕組みです。
はっ?グループ? となるので順を追ってご紹介します。

https://android.googleapis.com/gcm/notification 
上記エンドポイントに対して、POSTリクエストを出すことで、グループのメンバー管理ができます。

初めてグループを作るとき

{
“operation”: “create”,
“notification_key_name”: “SIRK_Users”,
“registration_ids”: [“xxxxx”, “yyyyy”,…..]
}
レスポンスで、グループのID文字列(notification_key)が返ってくるので、あとで送信時に使います。
 registration_id は、 Androidアプリ側で FirebaseInstanceId.getInstance().getToken();
で取得できるIDです。
メンバーの 追加 / 削除に関しては
{
“operation”: “add”,
“notification_key”: “[notification_key]”,
“registration_ids”: [“zzzzz”]
}
{
“operation”: “remove”,
“notification_key”: “[notification_key]”,
“registration_ids”: [“xxxxx”]
}

メッセージの送信

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u…0GBYzPu7Udno5aA
{
“to”: “[notification_key]”,
“data”: {
“hello”: “This is a SIROK GrowthHack Blog Message!! By Cloud Messaging Device Group”,
}
}
レスポンスでは、成功数、失敗数、失敗がある場合、対象端末ID が返却されます。
{
“success”: 2,
“failure”:2,
“failed_registration_ids”:[
“regId1”,
“regId2”
]
}
XMPPにも対応しているため、もう少し低レイヤーでの使用も可能な模様。
 注意したいのが、下記の通り 20端末 / 1グループ の制限。

The maximum number of members allowed for a notification_key is 20.

具体的なシーンとしては、ゲームのギルドであったり、合戦グループ、ランダムの救援要請、クーポン券を持っているユーザーや、購入経験ユーザーなどでしょうか?
上記あたりの機能としては、リアルタイム性が必要とされるので、各端末、各端末という風に個別のプッシュ通知よりも、システムで一斉通知できるのは良いことですね。
元記事
https://firebase.google.com/docs/cloud-messaging/android/device-group
最後に...
 Growth Push では、より広いくくりで 端末をまとめる、Segment 配信の機能が管理画面上でリニューアルされました。
 ・Segemnt の定義の視認性向上!
 ・検索が可能に!
 となっております。
 是非是非、ご確認下さい!!