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
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Pho...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tanaka_733
July 06, 2013
Technology
0
1.8k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
2013年7月6日 めとべや東京の発表資料
tanaka_733
July 06, 2013
Tweet
Share
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
1.9k
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
850
とあるインフラエンジニアのAzure活用
tanaka733
2
610
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
2k
Other Decks in Technology
See All in Technology
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
220
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
150
クラウド × シリコンの Mashup - AWS チップ開発で広がる AI 基盤の選択肢
htokoyo
2
150
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
180
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
160
JAWS FESTA 2025でリリースしたほぼリアルタイム文字起こし/翻訳機能の構成について
naoki8408
1
240
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
260
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.7k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
1.1k
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
170
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
930
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
Visualization
eitanlees
150
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Prompt Engineering for Job Search
mfonobong
0
180
Transcript
ASP.NET MVC 4 Web API を バックエンドにして作る ストアとWindows Phone プッシュ通知アプリ
めとべや東京 #1 2013/07/06 @tanaka_733
今日のセッションで触れるトピック 今まで何度かとりあげたプッシュ通知で 実際のアプリを作ったらどうなるか Azure Web Sites とAzure Mobile Services の違い
プッシュ通知とバックグランドタスク
自己紹介(@tanaka_733) お仕事 謎社エンジニア (インフラ) 最近は Win Server 2012 / IIS8
/ ARRv3 あたりをさわりつつ WPFとかASP.NET MVC Web API とかで管理ツールを 作ったりしてます 個人活動 めとべや東京 http://metrostyledev.net/ ブログ 銀の光と碧い空 http://techblog.hilife-jp.info/ Microsoft MVP for Visual C# 受賞しました
セッションのきっかけ 某弊社では、NewRelicというサービスを使っております .NET Framework に対応したパフォーマンス監視サービス Azureにも対応 .NET最先端技術によるハイパフォーマンスウェブアプリケーション
障害時のプッシュ通知ができます
た だ し
iPhone に限る!
Windows Phone でも 受信したい! © 2012 Microsoft Corporation. All rights
reserved.
Windows 8 でも 受信したい!!! © 2012 Microsoft Corporation. All rights
reserved.
そうだプッシュ通知を使おう
システム概要 Web Site WNS Store Client Phone Client Background Tasks
Background Tasks Web Hook Push通知 Push通知 Uri登録
ポイント サーバーサイド Azure Mobile Services を使うか、Web Sitesを使うか、 その他か Windows Store
App オフライン受信時に対応するバックグランドサービス Channel URIを更新するバックグランドサービス Windows Phone App プッシュ通知 実際に手を動かしてはまったことを中心にお話しします
あらかじめ・・・ 今回はプッシュ通知の基本的な実装の説明は省略します 以前のセッションを参考にしてください Windowsストアアプリで Push通知を使ってみよう https://speakerdeck.com/tanaka733/windowssutoaapuride- pushtong-zhi-woshi-tutemiyou Windows ストアアプリで Push通知を使いこなそう
https://speakerdeck.com/tanaka733/windows-sutoaapuride- pushtong-zhi-woshi-ikonasou
Web Sites を選んだ理由 HTTPS (SSL)で受ける必要がある(特にストアアプリ) 自前サーバーや AWS Elastic BeanStalkは SSL証明書を自前で手配する必要あり
Azure Mobile ServiceやWeb Siteは必要なし Web Hookを受ける必要あり NewRelicが障害時にWebHookに通知するため、 APIの受け口が必要 Mobile Servicesではできなかった (6月のアップデートで可能に) C# (ASP.NET MVC)でコーディングしたい 自分の好み Mobile ServicesではJavaScript (Node.js)
サーバーサイドの実装 クライアントからのChannel URIの登録を受け付けるAPI テーブルに格納する 1端末につき1つだが、 更新することがあるので、端末IDが必要 取得の仕方は各クライアントの説明で アプリとして運用を考えるなら認証を入れた方がよい WebHookのURIを受けるAPI 各サービス(今回はNewRelic)の仕様に従う
最近のトレンドはJSONでPOST 受けたあと、Channel URIの一覧を取得してWNSに配信
Azure Web Siteのデバッガビリ ティ Windows Azure SDK 2.0 で大幅強化 Visual
Studio からWeb Siteの設定が可能に ログのストリーミングが可能に 使い方 Sytem.Diagnostic.Trace を使って出力するのみ これでリモートデバッグが可能になれば無敵なのだが…
Windows Store App アプリ起動時にChannelURIの取得 前回サーバーに登録したChannel URIと比べて違えば更新 する 前回の値はSQLiteに保存 設定ファイルだと、バックグラウンドタスクとの同時編集による競合が ありうる
(頻度は少ないけど) プッシュ通知受信後の処理 外部URIをチェックしてブラウザを起動するようにする 2つのバックグランドタスクの実装 実装時に気を付けないとはまりどころ多し
バックグランドタスクの実装 バックグラウンドタスクは別プロジェクトとして実装 共通処理はクラスライブラリ化するのがおすすめ メインのプロジェクトが参照するようにする マニフェストファイルを編集して許可する アプリ実行時に登録する
ChannelURIを更新する バックグラウンドタスク ChannelURIの有効期間は1か月 1か月経つとURIは変更される可能性がある アプリの性質上1か月以上起動されない可能性がある アプリが起動されないとChannelURIの登録ができない
Windows Phone Appの実装 基本はストアアプリと同様 オフライン受信は今回対応せず プッシュ通知の配信先やフォーマットが多少異なる トースト通知として実装
まとめ C# を使って、プッシュ通知の端末側とサーバー側の両方を開 発できます Azure Web Sitesはデバッガビリティも上がって来ていて、 使いやすくなっています ストアアプリのバックグラウンドタスクを使って Channel
URIの更新を行いました 今回のアプリのソースコードはこちら(のちほど、かなり未整 理) https://github.com/tanaka-takayoshi/PushNotificationServcies