モバイルサービスで
お手軽Push通知
FukuokaAzureUserGroup ふくあず秋祭り #jazug
2013/11/23
濱本 一慶(@Airish9)
自己紹介
濱本 一慶(はまもと かずのり)
@Airish9
• アプリケーションエンジニア

• C#とか得意です
• エンタープライズのお仕事やってます

• 実はAzureを触りだしたのは最近です

Fukuoka Windows Azure User Group 2013
Windows Azure モバイルサービス
▪ AzureのBaaSサービス
▪ 2013年6月13日に正式リリース

データ

ユーザー

保存

認証

プッシュ

通知
Fukuoka Windows Azure User Group 2013
© 2011 Microsoft Corporation All Rights Reserved.

スケジューラ
データ
Fukuoka Windows Azure User Group 2013
データ
▪ モバイルサービスのデータを保存できる データベース
▪ 列の追加は、動的スキーマが有効なアプリから追加(初期はID列のみ)
▪ テーブルに対する操作は各プラットフォームに対応したSDKを利用

▪ C#, JavaScript, Windows Phone, iOS, Android
▪ CRUD時にスクリプトを実行可能(Node.jsが使用可)
▪ テーブルに対してアクセス制限を設定可能

Fukuoka Windows Azure User Group 2013
ユーザー認証
Fukuoka Windows Azure User Group 2013
ユーザー認証
▪ モバイルサービスを利用する際にユーザ認証を設定する事が可能

Fukuoka Windows Azure User Group 2013
ユーザー認証
クリック

Fukuoka Windows Azure User Group 2013
ユーザー認証
プロバイダから提供
された情報を入力

Fukuoka Windows Azure User Group 2013
ユーザー認証
▪ アプリから認証を呼び出すコードを追加

C#
MobileServiceUser user;
user = App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Facebook);

Facebook
Google
MicrosoftAccount
Twitter
を設定可能

Fukuoka Windows Azure User Group 2013
ユーザー認証
Facebookのログイン認証画面
が表示される

Fukuoka Windows Azure User Group 2013
プッシュ通知
Fukuoka Windows Azure User Group 2013
プッシュ通知
▪ 各プラットフォームへのプッシュ通知が可能
プッシュ通知
▪ モバイルサービスのプッシュを構成する
クリック

Fukuoka Windows Azure User Group 2013
プッシュ通知
▪ 各プッシュサービスの情報を設定

Fukuoka Windows Azure User Group 2013
プッシュ通知
▪ テーブルのスクリプトにプッシュ通知を実装
todoitemテーブルの
Insert時にPush通知を実装

【WindowsStoreアプリへのPush通知】
push.wns.sendToastText04(channel.uri,
{ text1: item.text }, function()…

Fukuoka Windows Azure User Group 2013
プッシュ通知
▪ 各プラットフォームへのプッシュ通知はオブジェクトを変えるだけでOK
Windows8

• push.wnsオブジェクト
Windows Phone8

• push.mpnsオブジェクト
iOS

• push.apnsオブジェクト
Android

• push.gcmオブジェクト
Fukuoka Windows Azure User Group 2013
スケジューラ
Fukuoka Windows Azure User Group 2013
スケジューラ
▪ 定期ジョブをAzure内に組み込むことが可能
▪ JavaScriptでジョブの内容を実装(Node.jsを利用可)
▪ 無料版は1ジョブ&1時間に1回実行の制限あり
とりあえずPushしてみた
Fukuoka Windows Azure User Group 2013
Push通知を行うTodoListアプリ
モバイルサービス
クライアントApp

1.アプリ起動時にPush用の
UriをChannelテーブルへ追加
2.ToDoの内容をTodoItemテーブルへ追加
データ

4.Push通知

プッシュ通知

SQLデータベース

スクリプト

3.TodoItemの追加スクリプト実行
(PushのUriをChannelより収得)
ぷちDemo
Fukuoka Windows Azure User Group 2013

モバイルサービスでお手軽Push通知