azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jp
DESCRIPTION
2014/09/13 「JAZUG札幌支部第4回勉強会feat.CLR/H~デプロイ王子からAzureを学ぼう!~」のスライドです。 Azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jpTRANSCRIPT
Azureからアプリに通知してみよう!!
JAZUG札幌支部第4回勉強会feat.CLR/H
~デプロイ王子からAzureを学ぼう!~
#jazug
CLR/H
@KatsuYuzu
生活を便利にする通知
•どんな通知が効果的か
•どうやって通知するか
自己紹介
• Twitter• しみみん@KatsuYuzu
• Blog• http://katsuyuzu.hatenablog.jp/
•開発• Windowsストアアプリ
• Windows Phoneアプリ
•ゲーム• Ultima Online(17年続いている最古のネトゲ)
コミュニティ紹介
• CLR/H(http://clr-h.jp/)
• 2か月に1度くらい• テーマ自由• 共催歓迎
• 日程や場所のご相談大歓迎
5分~
話してくれる方募集中テーマも形式も問いません
告知などでもOK!
•次回予定• 11月?• 12月13日(土)• 1月?
通知
通知とは
• 知らせること•人から人
•人から機械
•機械から人
機械から人への通知
メール
機械から人への通知
メール チーン
機械から人への通知
メール チーン デュン
ユースケース
•例えば、勤怠管理システムで……
申請
従来の通知
従来の通知
デュンチーン
適した通知を選ぶ
メール
スタート
これからの通知
これからの通知
Azureからアプリに通知してみよう!!
Notification Hubs • 任意のプラットフォームにプッシュ通知をするためのインフラ• iOS• Android• Kindle• Windows / Windows Phone
Mobile Services• システムから通知までをも含むインフラ群• ウィザード、テンプレートでクイックスタート
• すぐにサービスと連携可能なプラットフォーム毎のソースをダウンロードできる
Microsoft Azure
Notification Hubs • 任意のプラットフォームにプッシュ通知をするためのインフラ• iOS• Android• Kindle• Windows / Windows Phone
Mobile Services• システムから通知までをも含むインフラ群• ウィザード、テンプレートでクイックスタート
• すぐにサービスと連携可能なプラットフォーム毎のソースをダウンロードできる
Microsoft Azure
今日はやらない
通知の仕組み
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh913756.aspx
通知の仕組み
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh913756.aspx
• 通知サーバー• iOS:APNS
• Android:GCM
• Kindle:ADM
• Windows:WNS
• Windows Phone:MPNS
通知の仕組み
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh913756.aspx
• Notification Hubs• 各種プロトコルに対応
通知の仕組み
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh913756.aspx
• アプリ• 各OS向けの通知SDKで構築
通知の仕組み
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh913756.aspx
• 通知機構• 各OSのAPIへ通知SDKでアクセス
Notification Hubs • 任意のプラットフォームにプッシュ通知をするためのインフラ• iOS• Android• Kindle• Windows / Windows Phone
Mobile Services• システムから通知までをも含むインフラ群• ウィザード、テンプレートでクイックスタート
• すぐにサービスと連携可能なプラットフォーム毎のソースをダウンロードできる
Microsoft Azure
今日はやらない
Windows apps
•受け取れる通知• Toast• Tile• Raw
•プロトコル• Windows:WNS• Windows Phone:MPNS, WNS(※)
※ただし日本では
Windows Phone 8.1のアプリ
• Windows Phone Silverlight 8.1•デバイス特有の特化アプリ
• MPNS, WNS
• universal Windows apps• Windows ストアアプリと共通のAPIマルチプラットフォームアプリ
• WNS
手順
1. 各プラットフォームのストア上にアプリを登録 / 予約
2. Notification Hubsを構成
3. Notification Hubsにアプリを接続
4. 通知を送信
• 各プラットフォームの詳細は関連情報のチュートリアルのURLを参照
登録
•ストアに予約• Visual Studioでそれぞれのプロジェクトをストアに関連付け
•マニフェスト•トースト対応
•インターネット接続
構成
• universal Windows appsの場合はWNSの構成のみでOK
接続
• App.xaml.csのOnLaunchedで起動毎に接続• 有効期限やチャンネル変更の回避• これだけでWin8 / WPの両方に対応
要: Install-Package WindowsAzure.Messaging.Managed
通知の送信
•任意のタイミングで送信• メール送信してた処理を通知に置き換えるなど
要: Install-Package WindowsAzure.ServiceBus
通知の対象を制限する
• 接続時にタグを渡す• 複数可
• ユーザー毎• ユーザーIDなど
• “username: ” +id
• プラットフォームや機能、グループ毎• プロトコル名など
• “wns”
• 機能名、グループ名など• “JAZUG”
通知の対象を制限する
•接続時にタグを渡す
※デモサイトの送信先グループに合わせたグループ名の実装サンプル
通知の対象を制限する
•送信時にタグを渡す
※デモサイトの送信先グループに合わせたグループ名の実装サンプル
まとめ
まとめ
•適した通知を選ぶ
• Notification Hubs• 各プラットフォームに対応した通知インフラ
•使い方• ストアへの登録
• Notification Hubsの構成
• SDKで接続、送信
Microsoft Azure関連情報
• Notification Hubs (通知ハブ) • http://azure.microsoft.com/ja-jp/services/notification-hubs/
• Azure 通知ハブの使用• http://azure.microsoft.com/ja-
jp/documentation/articles/notification-hubs-windows-store-dotnet-get-started/
• チュートリアル• Windows ストア C#• Windows Phone• iOS• Android• Kindle• Xamarin.iOS• Xamarin.Android
• Mobile Services (モバイルサービス)• http://azure.microsoft.com/ja-jp/services/mobile-services/
Windows app関連情報
• Windows プッシュ通知サービス (WNS) の概要(Windows ランタイムアプリ)• http://msdn.microsoft.com/ja-
jp/library/windows/apps/hh913756.aspx
• プッシュ通知ウィザードにより生成されるコード• http://msdn.microsoft.com/ja-
jp/library/windows/apps/dn263179.aspx• Mobile Services向けのウィザード
• [プロジェクト] > [プッシュ通知の追加]• ストア、Azureへのサインイン• アプリ名の予約、紐づけ• Mobile Servicesの作成、紐づけ• コード生成
その他情報
• Download Microsoft Azure Symbol-Icon Set from Official Microsoft Download Center• http://www.microsoft.com/en-
us/download/details.aspx?id=41937
• アイコンセット