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