Enviar búsqueda
Cargar
よくわかるMPNS
•
Descargar como PPTX, PDF
•
0 recomendaciones
•
590 vistas
Y
Yutaka Tsumori
Seguir
Windows Phone Arch Nagoya でのセッション資料です。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 31
Descargar ahora
Recomendados
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
Ruo Ando
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
hama7230
MCC CTF講習会 pwn編2
MCC CTF講習会 pwn編2
hama7230
Aristeaのこと
Aristeaのこと
Yutaka Tsumori
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
Yutaka Tsumori
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Yutaka Tsumori
PhoneからPCへ。
PhoneからPCへ。
Yutaka Tsumori
Community Open Day 沖縄
Community Open Day 沖縄
Yutaka Tsumori
Recomendados
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
Ruo Ando
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
hama7230
MCC CTF講習会 pwn編2
MCC CTF講習会 pwn編2
hama7230
Aristeaのこと
Aristeaのこと
Yutaka Tsumori
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
Yutaka Tsumori
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
Yutaka Tsumori
PhoneからPCへ。
PhoneからPCへ。
Yutaka Tsumori
Community Open Day 沖縄
Community Open Day 沖縄
Yutaka Tsumori
Blync light for HACK
Blync light for HACK
Yutaka Tsumori
すまべん関西#18
すまべん関西#18
Yutaka Tsumori
Wpdd lt
Wpdd lt
Yutaka Tsumori
せっけーのおはなし
せっけーのおはなし
Yutaka Tsumori
Aristeaのコード補完
Aristeaのコード補完
Yutaka Tsumori
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori
Samba4でADしよう!
Samba4でADしよう!
Yutaka Tsumori
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
Buri2019
Buri2019
Yutaka Tsumori
Setsな話
Setsな話
Yutaka Tsumori
XAMLで条件分岐
XAMLで条件分岐
Yutaka Tsumori
BuriKaigi2018
BuriKaigi2018
Yutaka Tsumori
Windows phoneの新しい通知api
Windows phoneの新しい通知api
Yutaka Tsumori
Twitter Client for ZSH
Twitter Client for ZSH
Yutaka Tsumori
AndroidではじめるJava
AndroidではじめるJava
Yutaka Tsumori
20120922 wdc with_ms_like
20120922 wdc with_ms_like
Yutaka Tsumori
某Music unなんとか
某Music unなんとか
Yutaka Tsumori
たのアプLt
たのアプLt
Yutaka Tsumori
Androidのおはなし++
Androidのおはなし++
Yutaka Tsumori
スマートフォン勉強会@九州
スマートフォン勉強会@九州
Yutaka Tsumori
Titanium mobileで遊んでみた
Titanium mobileで遊んでみた
Yutaka Tsumori
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
Yutaka Tsumori
Más contenido relacionado
Destacado
Blync light for HACK
Blync light for HACK
Yutaka Tsumori
すまべん関西#18
すまべん関西#18
Yutaka Tsumori
Wpdd lt
Wpdd lt
Yutaka Tsumori
せっけーのおはなし
せっけーのおはなし
Yutaka Tsumori
Aristeaのコード補完
Aristeaのコード補完
Yutaka Tsumori
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Yutaka Tsumori
Samba4でADしよう!
Samba4でADしよう!
Yutaka Tsumori
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
Destacado
(8)
Blync light for HACK
Blync light for HACK
すまべん関西#18
すまべん関西#18
Wpdd lt
Wpdd lt
せっけーのおはなし
せっけーのおはなし
Aristeaのコード補完
Aristeaのコード補完
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
Samba4でADしよう!
Samba4でADしよう!
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Más de Yutaka Tsumori
Buri2019
Buri2019
Yutaka Tsumori
Setsな話
Setsな話
Yutaka Tsumori
XAMLで条件分岐
XAMLで条件分岐
Yutaka Tsumori
BuriKaigi2018
BuriKaigi2018
Yutaka Tsumori
Windows phoneの新しい通知api
Windows phoneの新しい通知api
Yutaka Tsumori
Twitter Client for ZSH
Twitter Client for ZSH
Yutaka Tsumori
AndroidではじめるJava
AndroidではじめるJava
Yutaka Tsumori
20120922 wdc with_ms_like
20120922 wdc with_ms_like
Yutaka Tsumori
某Music unなんとか
某Music unなんとか
Yutaka Tsumori
たのアプLt
たのアプLt
Yutaka Tsumori
Androidのおはなし++
Androidのおはなし++
Yutaka Tsumori
スマートフォン勉強会@九州
スマートフォン勉強会@九州
Yutaka Tsumori
Titanium mobileで遊んでみた
Titanium mobileで遊んでみた
Yutaka Tsumori
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
Yutaka Tsumori
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
Yutaka Tsumori
Smartphone workshop kansai #9
Smartphone workshop kansai #9
Yutaka Tsumori
Sumaben#11
Sumaben#11
Yutaka Tsumori
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LT
Yutaka Tsumori
Más de Yutaka Tsumori
(18)
Buri2019
Buri2019
Setsな話
Setsな話
XAMLで条件分岐
XAMLで条件分岐
BuriKaigi2018
BuriKaigi2018
Windows phoneの新しい通知api
Windows phoneの新しい通知api
Twitter Client for ZSH
Twitter Client for ZSH
AndroidではじめるJava
AndroidではじめるJava
20120922 wdc with_ms_like
20120922 wdc with_ms_like
某Music unなんとか
某Music unなんとか
たのアプLt
たのアプLt
Androidのおはなし++
Androidのおはなし++
スマートフォン勉強会@九州
スマートフォン勉強会@九州
Titanium mobileで遊んでみた
Titanium mobileで遊んでみた
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
Smartphone workshop kansai #9
Smartphone workshop kansai #9
Sumaben#11
Sumaben#11
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LT
Último
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Último
(8)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
よくわかるMPNS
1.
よくわかるMPNS Windows Phone Arch
NAGOYA yutaka Tsumori
2.
自己紹介 • tmytです • 大学院生は世を忍ぶ仮の姿
• 昨日修士論文を提出しました • 4月から社会人になってしまいます… • 白紙マスターです • Microsoft MVP for Device Application Development (Jan.2011-Dec.2012) だったりします
3.
おしながき • スマートフォンを取り巻く環境 • PushとPull •
MPNSのおはなし • 実装例
4.
スマートフォンを取り巻く環境 • 携帯端末で扱う情報の変化 •
静的Web • メール • 動的Web • リアルタイムWeb
5.
むかしのおはなし • 遙か昔Air H”とかでPDAで必死通信してた頃 •
Webブラウザで普通のWebページを見ていました • 帯域も細いので画像も圧縮したりしてました • 端末も今ほど速くはないので派手なことはできませんでした • 電池も多くはないので今ほど派手な通信とかもできませんでした
6.
時代が解決したこと • 通信回線の高速化 • 64Kbps
→ 7.2Mbps • 演算速度の向上 • SH-3 40MHz → MSM8655 1GHz • バッテリの変化 • 乾電池2本(20時間) → Li-ion 1460mAh(280時間)
7.
最近のトレンド • 大容量のリッチコンテンツ • 動画 •
ゲーム • リアルタイムな情報のやりとり • SMS/MMS • RSS • ソーシャル
8.
リアルタイムな変化を受け取る • 例えば •
GPSで目的の位置にたどり着いたときに • SMSで特定のメールが届いた時に • ネットワークの状態が変化した時に • 端末がスリープから起き上がった時に • SNSで自分宛のメッセージが送信された時に
9.
PushとPull • 外の世界との通信には大きく分けて2種類 • Push •
Pull • それぞれに違った特性があります
10.
Pull • ユーザ(端末)が能動的に情報を取得する • 例えば
• ブラウザでWebページを開く • メールボックスの中身をダウンロードする • Marketplaceからアプリをインストールする • 情報を引っ張ってくる(Pull)イメージ • 任意のタイミングで通信を開始できるのでバッテリなどを意識で きる
11.
Push • ユーザ(端末)が受動的に情報を取得する • 例えば
• 電話の着信 • メールが届いた • インスタントメッセージング • 情報が網側から飛んでくる(Push)イメージ • リアルタイムに情報を扱うことができる反面バッテリの消費量が 増加する
12.
Pushの実装方法 • いくつかの方法 • 網でサポートされたPush配信
• 例えば • SMS通知 • 本当の意味でPush配信 • TCP/IPで通知チャネルを使用したPush配信 • 例えば • インスタントメッセージング • ネットワークを介した擬似的なPush配信
13.
OSに見るPush通知フレームワーク • Windows Phone
• Microsoft Push Notification Service (MPNS) • iPhone • Apple Push Notification Service (APNS) • Android • Cloud to Device Messaging (C2DM) • Windows Mobile (おまけ) • 自力
14.
フレームワークの挙動 • OSごとに細かな違いはあるがだいたい同じ • OSへPush通知の利用を登録
• OSは各社のサービスへレジスト • その後通知トークンが取得できる • 任意のタイミングで通知トークンを使用しサービスサーバはメッセー ジを送信 • サービスサーバはデバイスへメッセージを転送 • メッセージを受け取ったデバイスは適宜処理を行う
15.
フレームワークの挙動の図
プッシュチャネルを要 求 チャネルURIをサー 3 チャネルを応答 2 1 ビスへ通知 5 チャネルURIを経由し 4 MPNSへ通知を送信 デバイスへメッセージ MPNSサーバ を送信 Webサービス 出展: ftp://ftp.charlespetzold.com/TechEd2011/09-Networking.pptx
16.
MPNSを使ってみる • MPNSを使用するのに必要なもの • MPNSを利用するアプリケーション •
デバイスにメッセージを送信するサーバ • 少しのコーディングで簡単に利用できます
17.
MPNSクライアント • 必要なもの • Microsoft.Phone.Notification
• HttpNotificationChannel • このクラスだけでPush通知を利用できる
18.
簡単な使い方 • HttpNotificationChannelをインスタンス化 • ChannelUriUpdatedイベントハンドラを追加 •
Open() でセッションをスタート • BindToShellToast() でトースト通知をOSに登録 • ChannelUriUpdatedイベントが発生したら通知先URLをサーバへ 転送 • ね?簡単でしょ?
19.
サーバで行うこと • クライアントから通知先URLを受け取る • サーバで処理中任意のタイミングで通知先URLへXMLを送信する •
→ デバイスへメッセージが送信される
20.
利用出来る通知の種類 • Windows Phoneでは3種類
• トースト通知 • タイル通知 • Raw通知 • 最初の2個はアプリケーションが実行されていない場合でも受信 できる • 今回はトースト通知をサンプルにします
21.
トースト通知 • トーストというのは端末上部に表示される短いメッセージ • Windows
Phoneにおいて他のアプリケーション実行中でもユーザ にメッセージを表示できる唯一の方法
22.
トースト通知を送信する • 手順 • トーストの内容を含んだXMLを通知先URLへ送信 •
以上 • 簡単です • ほんとうに?
23.
MPNSで必要なリクエストヘッダ • MPNSではHTTPリクエストにいくつかの追加ヘッダが必要 •
X-MessageID • X-NotificationClass • X-WindowsPhone-Target • X-CallbackURI • 最低限NotificationClass, WindowsPhone-Targetは必要
24.
トーストの送信に必要なヘッダ • 先ほどのリクエストヘッダに適切なパラメタを与える • X-MessageID
• GUID • X-WindowsPhone-Target • toast • X-NotificationClass • 2, 12, 22 からどれか一つ • 与えた物によってデバイスへ配信されるタイミングが違う
25.
トースト通知に使用するXML <?xml version="1.0" encoding="utf-8"?> <wp:Notification
xmlns:wp="WPNotification"> <wp:Toast> <wp:Text1>タイトル</wp:Text1> <wp:Text2>メッセージ</wp:Text2> <wp:Param>タップ時に開くURI</wp:Param> </wp:Toast> </wp:Notification>
26.
実際に送信した場合のダンプ POST /unthrottledt… HTTP/1.1 Host:
notify.mpnf1.live-int.com X-MessageID: 801972E5-E623-452a-BA4F-61AD596EC835 X-WindowsPhone-Target: toast X-NotificationClass: 2 Content-Length: 242 Content-Type: text/xml <?xml version="1.0" encoding="utf-8"?> <wp:Notification xmlns:wp="WPNotification"> <wp:Toast> <wp:Text1>Hello</wp:Text1> <wp:Text2>Push Notification</wp:Text2> <wp:Param /> </wp:Toast> </wp:Notification>
27.
DEMO
28.
MPNSの実装例 • Amelloides •
Twitterクライアント • バックエンドにWindows Azureを使ってます • Twitterでメンションを受け取るとMPNS経由で通知されます
29.
MPNSの問題点 • 消費電力 • OSがMicrosoftのサーバと通信しそのセッション上に通知情報を流すた
めバッテリ消費が増加する • 無線LAN利用に不向き • Windows Phoneの無線LANが端末スリープ状態になると切断されるので 通知セッションが破棄されてしまう • Mangoで改善された? • いまいち使いづらい
30.
MPNSの制限 • 通知URLにXMLを送信する際データは最大1024Byteまで • Toast通知はアプリケーション起動中には表示されない •
Raw通知はアプリケーション起動中にしか通知されない • バッテリセーバが有効な場合は通知が実行されない
31.
まとめ • Push配信を使うことでWebのリアルタイムな変化を端末に配信で
きる • MPNSを使うと比較的簡単にPush通知を使用したアプリケーショ ンが作れる • MPNSに対応すればそれだけでアプリケーションの付加価値に
Descargar ahora