2014/03/20にSDKのVer 1.1.4が提供されました。
今回の目玉は2014/01に追加されたWindwos Azure Notification Hubへの対応です。
従来の通知ハブは次のような流れになります(出典:http://msdn.microsoft.com/library/jj927170.aspx)。
- クライアント側タブレットのアプリでは起動時にPNS handelのやり取りをして自分自身をPNSに登録します。
- PNS handleはBaaS(つまりMobile Serviceに登録しておきます)。これでPNSとBaaSが紐付きました。
- BaaSから紐づけに基づいて、通知をPNSに依頼します。
- PNSからクライアント側タブレットにプッシュ通知が行われます。
通知ハブを使うとこれが次のように変わります(出典:http://msdn.microsoft.com/library/jj927170.aspx)。
- クライアント側タブレットのアプリでは起動時にPNS handelのやり取りをして自分自身をPNSに登録します。
- PNS handleはBaaS(つまりMobile Serviceに登録しておきます)。これでPNSとBaaSが紐付きました。
- BaaSから紐づけに基づいて、通知を通知ハブに依頼します。
これだけみると、「3」のところの通知先が変わっただけのような印象ですが、通知ハブにきりかえることで次のような利点があります。
- PNSは各プラットフォーム(Windows、iOS、andoroid)別々なので複数の「3」先が存在しますが通知ハブに統一できます。
- 通知ハブはAzure以外からも使えます。
- 登録クライアントが多いようなときは適時スケールして対応します。
- 様々な配信パターンができます(一斉同報、タグによるユニキャストとマルチキャスト、タグによるセグメンテーション)
- パーソナリゼーション
- セキュリティ
- 低い遅延性
なお、Mobile ServiceでNotification Hubを使うためには、管理ポータルで「拡張プッシュの有効化」操作を実施する必要があります。
後戻りできないよ!と少々怖いメッセージが出ますが、従来のプッシュ通知を使っていないなら迷う必要はありません。
通知ハブを有効にする前は、Windows Push Notification Service (WPNS)、Apple Push Notification Service (APNS)、google cloud messageing (GCM)の設定のみですが、通知ハブ設定後は、これらの設定に加えて通知ハブの項目が増えます。
従来は、WPNS、APNS、GCMに対応したいときは、Azure側の設定もそうでしたが、プッシュ通知を出す側のアプリでも3種類の使い方で通知を飛ばさないといけませんでした。
通知ハブを使えば、Azure側の設定は従来通り個別に設定ですが、プッシュ通知を出す側からみれば「通知ハブ」に依頼するだけで事足りてしまう訳です。