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
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Windowsストアアプリで Push通知を使ってみよう
Windows 8 Developers カンファレンス vol.2.0 at 3/17(Sun) の発表資料
tanaka_733
March 17, 2013
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
11k
Calling PowerShell from CSharp
tanaka733
0
2k
Garbage Collection in .NET Framework
tanaka733
4
3k
New Features in Visual Studio 2013
tanaka733
0
1.1k
Starting Unity for Windows Store App
tanaka733
0
880
とあるインフラエンジニアのAzure活用
tanaka733
2
620
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.9k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Other Decks in Technology
See All in Technology
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
120
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
110
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
3
1k
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
170
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
270
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.6k
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
240
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
290
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
230
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
4
2.6k
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
270
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Faster Mobile Websites
deanohume
310
32k
Speed Design
sergeychernyshev
33
2.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
430
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
570
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
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 の場合 • 直接通知の使いどころ