Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Windowsストアアプリで Push通知を使ってみよう
Search
tanaka_733
March 17, 2013
Technology
0
220
Windowsストアアプリで Push通知を使ってみよう
Windows 8 Developers カンファレンス vol.2.0 at 3/17(Sun) の発表資料
tanaka_733
March 17, 2013
Tweet
Share
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
10k
Calling PowerShell from CSharp
tanaka733
0
1.8k
Garbage Collection in .NET Framework
tanaka733
4
2.9k
New Features in Visual Studio 2013
tanaka733
0
1.1k
Starting Unity for Windows Store App
tanaka733
0
840
とあるインフラエンジニアのAzure活用
tanaka733
2
600
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.8k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
ESXi のAIOps だ!2025冬
unnowataru
0
480
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
310
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
430
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
610
AIと融ける人間の冒険
pujisi
0
110
Java 25に至る道
skrb
3
160
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
380
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
160
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
11
3.6k
Featured
See All Featured
HDC tutorial
michielstock
1
300
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
47
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Spectacular Lies of Maps
axbom
PRO
1
410
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
100
Documentation Writing (for coders)
carmenintech
77
5.2k
Building an army of robots
kneath
306
46k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
First, design no harm
axbom
PRO
1
1.1k
Transcript
Windowsストアアプリで Push通知を使ってみよう 田中 孝佳 (@tanaka_733) Windows 8 Developers カンファレンス vol.2.0
3/17(Sun)
Agenda はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
はじめに はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
自己紹介 (@tanaka_733) 趣味でC#な開発 • Windows Phone • Windows ストアアプリ •
Kinect ブログ書いています • 銀の光と碧い空: http://techblog.hilife-jp.info/ めとべや東京 というコミュニティやっています
めとべや東京 WinRT関連技術の勉強会を開いているコミュニティです! 3/30(土)にIIJさん(神保町)にて勉強会やります! • http://metrostyledev.net/index.php/event/20130330/ SkyDrive SDK for ストアアプリ について話します
今日のセッションの目的 ストアアプリの通知の概要を知ろう プッシュ通知の実装の仕方を知ろう
なぜプッシュ通知を使うのか はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
ストアアプリは没入型 Child Playing Video Games (Animal Crossing) By mamarati http://www.flickr.com/photos/36758336@N00/41589909/
ストアアプリは没入型 • ユーザーをコンテンツに集中させる • スナップにより複数のアプリを表示させることはできる 1つの画面に1つのアプリ • アプリを切り替えると一時停止される • バックグラウンドでの動作に移行
表示されないアプリの動作は強く制限される
動いていないアプリが情報を伝えるには? • アプリを選んでもらうときにアピール タイル • 新着メッセージの「数」などを表示 バッジ • トースト、直接などの方法で強くアピール 通知
通知の送信 はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
通知の配信方法 (基本的なタイミング) • アプリ実行中にAPIを呼び出す ローカル • 指定した時間にAPIを呼び出すようにスケジュール スケジュール • ポーリングしてタイルとバッジを更新
定期的 • アプリが実行されていなくても外部から送信 • タイル、バッジ、トースト・直接通知のすべてに対応 プッシュ 通知配信方法の選択 http://msdn.microsoft.com/ja-jp/library/windows/apps/hh779721.aspx
外から情報を伝えたいときはプッシュ通知 スケジュール • 通知の内容があらかじめ分かっている必要がある • 例) カレンダーの予定の通知など 定期的 • タイルとバッジの通知にしか使えない
プッシュ通知に向いている通知 リアルタイムデータ •ニュース(スポーツ)速報 カスタマイズされたデータ •SNSの着信
プッシュ通知の実装 はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
プッシュ通知の仕組み https://github.com/tjanczuk/wns
プッシュ通知の仕組み (クライアント側) https://github.com/tjanczuk/wns 開発している ストアアプリ OS側で提供して いる基盤
プッシュ通知の仕組み (サーバー側) https://github.com/tjanczuk/wns 開発する サーバー側 システム MSが提供している 通知基盤
DEMO
準備:アプリ名の登録と関連付け プッシュ通知を使うにはアプリ名を登録して関連づける必要があります (つまり、開発者登録が必要)
準備:アプリ名の登録と関連付け アプリ名と関連付けはVisualStudioから
準備:プッシュ通知の資格情報の取得
クライアントの実装 (①~③) ⑥でWNSから端末に送信するためのChannelURIを取得
トースト通知の許可
サーバーサイドの実装 (Azure Mobile Service) サーバーサイドの要件 • アプリからのChannelURIを含むリクエストを処理する • WNSにHTTPSでChannelURIを含むリクエストを送信する 個人で(無料で)試す場合のいくつかのアイディア
• 自分のサーバーにLAMPで構築 • 無料で使えるPaaS で node.js + mongodb で構築 (一例:無料で提供されることが多い) • Azure Mobile Service などのBaaS を使う • BaaS: Backend As A Service
Azure Mobile Service を使ってみました 現状無償枠内での利用が可能 • Microsoft ID とクレジットカードの登録が必要 ストアアプリやWindows
Phone 以外に iOS や Android にも対応 SDKをインストールすることで、簡単にプログラミングできる
Mobile Serviceの認証キーの取得
Mobile Serviceの作成
Mobile Serviceの作成
Mobile Serviceの作成
プッシュ通知の資格情報を入力 プッシュ通知の認証情報を入力 (ストアアプリダッシュボードで表示したもの)
テーブルの作成
フックスクリプトの作成 (⑤) このままだと、単にデータを入れるだけのサービスになる。 レコードのCRUDをトリガーとしてサーバー側にロジックを追加できる。 テーブルにレコードを追加するときにプッシュ通知を送るようにしてみる。 JavaScriptで記述。詳細は http://msdn.microsoft.com/en-US/library/windowsazure/jj554226 を参照
バッチスクリプトの作成 (⑤) また、サーバー側から任意のタイミングで処理を実行するために、 スケジュールジョブを作成してみる https://gist.github.com/tanaka-takayoshi/f3deae9dd9b0efd3cee3
バッチスクリプトの作成 (⑤) また、サーバー側から任意のタイミングで処理を実行するために、 スケジュールジョブを作成してみる https://gist.github.com/tanaka-takayoshi/f3deae9dd9b0efd3cee3
お疲れ様でした。Azure側の作業は終わりです。 ここから、クライアント側です(④)
SDK のDLとインストール
プロジェクトの参照に追加
MobileServiceClientを設定 (App.xaml.cs) Azure Mobile Serviceの 画面で取得した ApplicationKey
作成したテーブルのEntityクラスを作成
Mobile Serviceにメッセージを送信
まとめ はじめに なぜプッシュ通知を使うのか 通知の送信 プッシュ通知の実装 まとめ
まとめ 直接・トースト通知はストアアプリでユーザーの気を惹かせる通知方法 任意のタイミングで通知をするのにはプッシュ通知が必要 プッシュ通知のためにはサーバーサイドの開発が必要 Azure Mobile Serviceを使うとお手軽に(現状無料で)サーバーサイドが準備できる
もう一度宣伝! めとべや東京 #15 3/30(土) です • http://metrostyledev.net/index.php/event/20130330/ COD2013 5/11(土) で話します
• http://cod.ms/Pages/place_tokyoa.aspx • プッシュ通知についてもう少し詳しく掘り下げます • ChannelURI の管理 • サーバー側でASP.NET を使う場合、node.js + mongodb の場合 • 直接通知の使いどころ