windows azure mobile services による mobile + cloud アプリケーション超高速開発
DESCRIPTION
ABC(Architect Boot Camp)の時のスライドupload!iOSのプッシュも現在はデモOKTRANSCRIPT
http://claudiamobile.cloudapp.net/
http://msdn.microsoft.com/ja-jp/windowsazure/hh965702
モバイル対応の
アプリを簡単に実装
ユーザー認証機能
プッシュ通知機能
Windows 8, iOS,
Windows Phone 8 Android サポート予定
必要に応じて機能を追加可能
瞬時にデプロイ可能
マルチテナント環境から専用環境に必要に応じて変更可能
http://www.windowsazure.com/mobile
Windows Azure Mobile Services は次の場合に最適です。
・iOS 対応(Xcode、Objective-C)・Facebook / Twitter / Google ID 対応・Sendgrid による e-mail 送信対応・Twilio によるSMS対応・Blob Storage 利用可能・Services Bus利用可能・他…http://weblogs.asp.net/scottgu/archive/2012/10/16/windows-azure-mobile-services-new-support-for-ios-apps-facebook-twitter-google-identity-emails-sms-blobs-service-bus-and-more.aspx
多くの機能追加が発表
・データアクセス, プッシュ通知、認証サポートWindows 8、Windows Phone 8 SDKiOS SDK SDKAndroid SDK (近日登場予定)
・強力なサーバーサイドスクリプトのサポートプッシュ通知、バリデーション、プリプロセッシング、ポストプロセッシング、他の Web サービスとの連携
デモ
Supported Modules + Globals
mssql
request
console
push
tables
statusCodes
mssql.query('select top 1 * from statusupdates',
{ success: function(results) {
console.log(results);
}
}
);
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();
}…
JSON 値 T-SQL 型
数値 (整数、10 進数、浮動小数点数)
Float(53)
ブール値 Bit
DateTime DateTimeOffset(3)
文字列 Nvarchar(max)
Windows 8/Phone 8
Android (例)
iOStable = [client getTable : @”apartment”];
NSPredicate* pred = [NSPredicate
predicateWithFormat:@”bedrooms > 2”];
[tableReadWhere : pred
completion : ^(NSArray* results,
NSInteger count,
Nerror* err) {
//…
}];
var table =
MobileService.GetTable <Apartment>;
var Apartments = await table
.where(a => a.Bedrooms > 2)
.ToListAsync();
MobileTable <Apartment> table =
service.gettable(Apartment.class);
List<Apartment> apartments =
table.where()
.gt(“bedrooms”, 2)
.select();
サーバーロジックCRUD 操作に関するサーバーロジックの追加 デモ
push.wns
push.mpns
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, });
http://msdn.microsoft.com/ja-JP/windows/apps
https://manage.dev.live.com/Applications/Index
Live Connect ポータル
Windowsストアアプリポータル
プッシュ通知デモ
20
function sendNotifications() {
var channelTable = tables.getTable('Channel');
channelTable.read({
success: function (channels) {
channels.forEach(function (channel) {
push.wns.sendTileWidePeekImageAndText02(channel.channelUri, {image1src: ‘http://dev.virtualearth.net/REST/v1/Imagery/Map/Rsoad/' +
item.latitude + ',' + item.longitude + '/15?pp=' +
item.latitude + ',' + item.longitude +
';15&ms=310,150&key= YOUR BING MAPS KEY',
image1alt: 'New Place',
text1: 'New Place',
text2: item.text,
text3: item.latitude + ',' + item.longitude,
}, {
success: function (pushResponse) {
//console.log("Sent push:", pushResponse);
}
});・・・・・
21
push.wns.sendToastImageAndText04(channel.channelUri, {
image1src: 'http://dev.virtualearth.net/REST/v1/Imagery/Map/Road/' +
item.latitude + ',' + item.longitude + '/15?pp=' +
item.latitude + ',' + item.longitude +
';15&ms=150,150&key=YOUR BING MAPS KEY',
image1alt: 'New Place',
text1: 'New Place',
text2: item.text,
text3: item.latitude + "," + item.longitude
}, {
success: function (pushResponse) {
//console.log("Sent push:", pushResponse);
}
});
});
}
});
22
• Windows 8 (Bing Maps for Windows Store Apps)で位置情報を取得• プッシュ通知(トースト/タイル)を当該 Windows Store App を実行中の全ユーザーに送付• Windows 8 デバイスを占有して新規に取得した位置情報を Bing Maps 地図の中心に移動
http://jkebeck.wordpress.com/2012/10/09/windows-azure-mobile-services-maps-more/
http://msdn.microsoft.com/en-US/live/ff621310
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
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) {
//…
}];
}
認証の追加迅速なWindows Live への接続 デモ
Sendgridを利用したメール送信
しかし…現在はこのアドオンは
米国のみ使用可能な模様
http://www.windowsazure.com/en-us/develop/mobile/tutorials/send-email-with-sendgrid/
Windows Azure Mobile Services for iOS
Chris Risner
http://chrisrisner.com/
同サンプルhttps://github.com/WindowsAzure-Samples/MobileServices-iOS-Client
Xamarin
同サンプルhttps://github.com/xamarin/azure-mobile-services
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/
デモ
Mobile Services with iOSストレージ操作とTwitter認証連携
Windows Azure Mobile Services for AndroidComing Soon!
診断
ログ
拡張 –コンピューティング
拡張 -ストレージ
診断、ログ、拡張
デモ
10 モバイル
サービス 1 GB SQL
データベース
プレビュー期間中は SLA なし。S インスタンスのみ使用可能。プレビュー期間中は、通常の従量課金料金から 33% 割引で予約済みインスタンスにアップグレード可能。
WA の無料評価版
99.9%
Windows 8、iOS、Windows Phone 8、
データ
40http://www.windowsazure.com/mobile
Mobile Services Developer Portal
41
http://code.msdn.microsoft.com/doto-a-simple-social-todo-7e6ba464
42
• Windows 8 (Bing Maps for Windows Store Apps)で位置情報を取得• プッシュ通知(トースト/タイル)を当該 Windows Store App を実行中の全ユーザーに送付• Windows 8 デバイスを占有して新規に取得した位置情報を Bing Maps 地図の中心に移動
http://jkebeck.wordpress.com/2012/10/09/windows-azure-mobile-services-maps-more/
43
http://channel9.msdn.com/Events/TechEd/Europe/2012/AZR310