Windows azure multi_device_mobileservices

1,034 views

Published on

7/6 業開発中心会議でのセッションスライドです。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,034
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Windows azure multi_device_mobileservices

  1. 1. z アクセス制御 (ACS & AD) モバイル (Mobile) iOS/Android Win8/WP8 SQL データベース (SQL Database) ストレージ (Storage) トラフィック管理 (Traffic Manager) 仮想ネットワーク (Virtual Network) メディア配信 (Media) コンテンツ配信 (CDN) サービス バス (Service Bus) キャッシュ (Caching) 仮想マシン (Virtual Machines、Linuxも含む) クラウド サービス (Cloud Services) Web サイト (Web Sites) 3
  2. 2. Android、iOS、Windows 8 (JavaScript、C#)、Windows Phone、HTML5 向けのSDK データ 電子メール、SMS、Windows Azureサービス バスなど、Windows Azureやパートナーのサービスを利用可能
  3. 3. Mobile Services の内実 ・データアクセス、プッシュ通知、認証サポート Windows 8、Windows Phone 8 SDK、iOS SDK SDK、Android SDK、HTML5/JavaScript SDK ・強力なサーバーサイドスクリプトのサポート プッシュ通知、バリデーション、プリプロセッシング、 ポストプロセッシング、他の Web サービスとの連携
  4. 4. http://msdn.microsoft.com/en-us/library/windowsazure/jj554226.aspx
  5. 5. Supported Modules + Globals mssql request console push tables statusCodes 複雑なフィルタリングの例 function read(query, user, request) { query.where(function (userId) { return this.UserId == userId; }, user.userId); request.execute(); } function read(query, user, request) { query.where(function (userId) { return this.UserId == userId && (this.Category == "Fiction" || this.Category == "Action") && this.Rating > 2; }, user.userId); request.execute(); } …
  6. 6. アプリケーション キーを持つ ユーザー(デフォルト値) https://manage.dev.live.com/Applications/Index Live Connect ポータル https://appdev.microsoft.com/StorePortals/ja-jp/Home/Index?wa=wsignin1.0 Windows Store 開発 ポータル
  7. 7. アプリ起動時に登録 ① アプリは PNS (Platform Notification Service)にア クセスして Handle を取得 (e.g. ChannelURI, Device Token) ② アプリはバックエンドのハンドル情報を更新 通知を送信 ③ バックエンドはPNSへ通知を送信 ④ PNSがデバイスのアプリへ通知をプッシュ メンテナンス PNS がリジェクトしたタイミングで、バックエンドは有効 期限切れのハンドルを削除 PNS (APNS/WNS /GCM) アプリの バックエンド アプリ ① ② ③ ④ Handle 、ユー ザー属性を保持
  8. 8.  バックグラウンド処理を行うジョブを作成 設定された時刻に定期的な処理を自動実行させることが容易  定期的なプッシュ通知 Webサイトを定期的に監視 定期的なデータ整理・取得(古い情報や重複の削除、TweetやRSS収集など) 
  9. 9.  
  10. 10.   
  11. 11. http://www.windowsazure.com/ja-jp/pricing/details/mobile-services/
  12. 12.  MBaaS として基本機能が充実  スケーラブルなプッシュ通知  Visual Studio 2013 との連携  リソースは Appendix および講演者ブログで  http://blogs.msdn.com/b/shosuz/
  13. 13. Appendix
  14. 14. Windows ストアアプリのサンプル オンライン楽器ストアアプリ 各商品を表示 タイトルを編集 詳細情報編集、削除可能 スタートスクリー ン 全商品表示(Hub) 一覧・登録(Sections) 個別商品表示・編集(Details)
  15. 15. アーキテクチャー概要 Windows ストアアプリ ・店舗管理者用 - 編集・登録 ・一般ユーザー用 - 閲覧・購入・ プッシュ通知(Mobile Services)・ メール(SendGrid) 20 Entity Framework SQL Database Windows Azure Web サイト Windows Azure Windows Azure Websites Windows Azure SQL Database Windows Azure Storage (BLOB) 画像 文字 数値 ASP.NET Web API Entity Framework ドメイン モデル 店舗 管理者 一般 ユーザー Grid テンプレート Get/Post/ Put/Delete JSON REST CodeFirst サイド ローディング Windows ストア
  16. 16. 文字・写真を投稿するMini Blog iOS アプリ
  17. 17. テーブルのリレーション tags タグテーブル id ID name タグ名 userId ユーザーID posttags 投稿・タグ関連テーブル id ID postId 投稿ID tagId タグID devices デバイステーブル id ID token トークン userId ユーザーID userIdは認証時にモバイル サービスが発行 tokenはプッシュ通知利用時にiOSが発行 posts 投稿テーブル id ID text テキスト userId ユーザーID image 画像 shared 共有フラグ
  18. 18. Register your apps for Twitter login with Mobile Services チュートリアル http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/register-for-twitter-authentication/ https://dev.twitter.com/ https://dev.twitter.com/apps/new
  19. 19. Visual Studio では Intellisense で Identity Provider を選択可能
  20. 20. Windows 8 / Windows Phone 8 iOS If (MobileService.CurrentUser == null) { var user = await MobileSevice.LoginAsync ( MobileServiceAuthenticationProvider.Twitter); If (client.currentUser == nil) { [client loginViewControllerWithProvider : @”twitter” completion : ^(MSUser* user, NSError* err) { //… }]; }
  21. 21. Platform Notification Service (APNS/WNS/ GCM) App back-end
  22. 22. push.wns push.mpns
  23. 23. http://msdn.microsoft.com/ja-JP/windows/apps https://manage.dev.live.com/Applications/Index Live Connect ポータル Windows ストアアプリポータル
  24. 24. APNSと連携したプッシュ通知 iOS 通知 通知依頼 フィードバック トークン登録 登録・トークン取得
  25. 25. Google Cloud Messaging と連携したプッシュ通知 Android 通知 通知依頼 フィードバック トークン登録 登録・トークン取得
  26. 26. http://blogs.msdn.com/b/shosuz/archive/2013/01/03/sendgrid-windows- azure-mobile-services.aspx
  27. 27. Windows 8 Windows Phone 8 Server Side Script CurrentChannel = await PushNotificationChannelManager .CreatePushNotificationChannelForApplicaionAsync(); CurrentChannel = new HttpNotificationCannel(“ApartmentPushChannel”); CurrentChannel.Open(); CurrentChannel.BindToShellToast(); mpns.sendToast(channel.uri, “New Apartment Added”, apartment.address); wns.sendToat02(channel.uri, {text01 : “New Apartment Added”, text02 : apartment.address, });
  28. 28. 35http://www.windowsazure.com/mobile Mobile Services Developer Portal
  29. 29. http://blogs.msdn.com/b/shosuz/archive/2013/01/11/windows-azure-new-code-samples-and- tutorials.aspx
  30. 30. Github https://github.com/WindowsAzure/azure-mobile- services Get started with Mobile Services for iOS http://www.windowsazure.com/en- us/develop/mobile/tutorials/get-started-ios/
  31. 31. Github https://github.com/WindowsAzure/a zure-mobile-services Get started with Mobile Services for Android http://www.windowsazure.com/en- us/develop/mobile/tutorials/get- started-android/
  32. 32. MiniBlog ソースコード http://msdn.microsoft.com/ja- jp/windowsazure/hh697503 ・SQL Database への CRUD ・複数テーブルの リレーション ・豊富なサーバー側 JavaScript サンプル ・Client 側は iOS 6.0 以降に対応 ・Storyboard、ARC 等対応
  33. 33. Event Buddy(iOS) イベント・セッション情報の閲覧、新し い イベント・セッション情報の入力が 可能。 セッションは詳細情報と評価も可能。 Tic Tac Toe Leaderboard (iOS/Android) Mobile Services 上の単純な Leaderboard。 Tic Tac Toe ゲームの勝敗の記録が可能 Feedback (iOS/Android) iOS /Android からフィードバックを行える アプリ。評価送信前に、コメント、e-mail アドレス、五段階評価 を付与可能。

×