7
祝!通知ハブGA JAZUG アドバイザ(通称:組長) Microsoft MVP Windows Azure Microsoft Regional Director 酒井 達 明 (@tatsuakisakai)

JAZUG 3周年LT

Embed Size (px)

Citation preview

Page 1: JAZUG 3周年LT

祝!通知ハブGA

JAZUG アドバイザ(通称:組長)

Microsoft MVP Windows Azure

Microsoft Regional Director

酒 井 達 明 (@tatsuakisakai)

Page 2: JAZUG 3周年LT

通知ハブとは

サービス バスメッセージングの拡張

–Windows Azure SDK 2.1 の名前空間は“Microsoft.ServiceBus”

外部のアプリケーションからプッシュ通知

–プッシュ通知だけ利用したい場合に便利

–数百万台のデバイスに対して同時配信を実現

様々なデバイスをサポート(Windows Store, iOS, Android, …)

タグ付けによる配信先のフィルタリング– 受信者があらかじめ受信したいタグを登録

– 送信者は適宜タグを付加して配信

Page 3: JAZUG 3周年LT

プッシュ通知の仕組み

クライアント側の準備

– クライアントアプリはプラットフォームの通知サービスに対しハンドルを要求

– 通知サービスはアプリケーションハンドルをクライアントに返信

– クライアントはバックエンドに対してハンドルを登録

メッセージ送信

– バックエンドは受信対象者のハンドルとともに通知サービスにメッセージを送信

– 通知を通知サービスは対象のクライアントにメッセージ

管理

– 通知サービスは無効化されたハンドルをバックエンドに通知

プラットフォームの

通知サービス

バックエンド

クライアント

Page 4: JAZUG 3周年LT

通知ハブを利用するとこうなる!

全てのプラットフォーム、一手に引き受けます!

クライアントの準備

– 各通知サービスにハンドルを要求

– 受信したハンドルは通知ハブに送信

メッセージの送信

– バックエンドは通知ハブにメッセージを送信

– 通知ハブは各通知サービスにメッセージを送信

– 各通知サービスはクライアントに対してメッセージを配信

APNs WNS

通知ハブ

バックエンド

iOS アプリ Windows ストアアプリ

Page 5: JAZUG 3周年LT

サーバ側のコード例

string connectionString = ServiceBusConnectionStringBuilder

.CreateUsingSharedSecret(new Uri("sb://xxxx.servicebus.windows.net/"),"owner", “Enter your shared secret key");

var hubClient = NotificationHubClient.CreateClientFromConnectionString(connectionString, “hubname");

hubClient.SendTemplateNotificationAsync(

CreateToastImageAndText02(“画像のURL",

“キャプション”, “メッセージ本文" ));

Page 6: JAZUG 3周年LT

クライアント(ストアアプリ)側のコード例

var cn = ConnectionString.CreateUsingSharedSecret(new Uri("sb://tatsuakisb.servicebus.windows.net/"), "owner",

" Enter your shared secret key ");

NotificationHub notificationHub = new NotificationHub(“hubname", cn);

(中略)

var channel = await PushNotificationChannelManager.

CreatePushNotificationChannelForApplicationAsync();

List<string> Tags = new List<string> { "Windows8", "Japan" };

await notificationHub.RegisterTemplateAsync(channel.Uri,

テンプレートのインスタンスを指定, “テンプレート名", Tags);

Page 7: JAZUG 3周年LT

まとめ

通知ハブを使えば、、、、

–モバイルサービスを使わなくてもプッシュ通知ができる

–受信者をタグで振り分けることができる

–デバイスごとにバックエンドのロジックを書かなくていい