Kirill Gavrylyuk Principal Program Manager Lead Azure Mobile
Kirill Gavrylyuk | Principal Program Manager Lead, Azure Mobile Miranda Luna | Product Manager, Azure Mobile
Course Topics Cloud-Connected i. OS, Android and Windows Apps 01 | Overview 06 | Versioning 02 | Lens. Rocket 07 | Cross-Platform Push 03 | Choosing the Right Data Store 08 | Extend through Store partners 04 | Adding Custom Logic 09 | Tips Before Hitting Publish 05 | Real World Dev Environment 10 | Resources
Setting Expectations • Target Audience – Developers building i. OS, Android and Windows apps, whether natively or with a cross-platform framework • Suggested Prerequisites/Supporting Material – MVA Consumer Mobile Apps that Scale – Channel 9 Azure Mobile Services Learning Series – aka. ms/Common. WAMS Please leave this area blank to allow for picture in picture recording
Join the MVA Community! ▪ Microsoft Virtual Academy—Free online training! ▪ Ask questions in the Born to Learn MVA Forum! ‒ ▪ Visit http: //aka. ms/MVAForum Earn while you learn! ‒ ‒ ‒ 50 MVA Points for this event! Visit http: //aka. ms/MVA-Voucher Code: Bldg. Blks 3
01 | Overview
Mobile Backend Ready-made mobile app backend for i. OS, Android and Windows Create new mobile apps or add a mobility layer to existing systems Speeds up development time and reduces ongoing maintenance cost Push Notifications Mobile push notification engine for existing apps Enhance push notifications in any app with personalization and localization Improves user engagement and retention by delivering relevant content more quickly Device Messaging infrastructure that sits between and within applications Build multi-tier and hybrid applications or smart device information exchange patterns Delivers inter- and intra-app messages faster and connects on-premises systems to the cloud
Mobile Services Overview Mobile Services App Backend can be Node. js or. NET SDKs Windows Phone i. OS Android HTML 5/JS Table Storage SQL Blob Storage REST API Windows Store i. OS Android Xamarin Sencha Mongo DB Custom Code. NET Web API Node. js Express Facebook WNS & MPNS Twitter Microsoft APNS Google GCM Active Directory Notification Hubs Source Control
Supported Platforms Native Win 8/ Win. Phone Native i. OS Native Android HTML 5/ Javascript Xamarin (i. OS & Android in C#) Sencha Touch
02 | Lens. Rocket
Lens. Rocket • A single mobile service can power multiple client apps • Lens. Rocket sample – – – i. OS App Store: aka. ms/Lens. Rocketi. OS Google Play Store: aka. ms/Lens. Rocket. Android i. OS source code: aka. ms/Lens. Rocketi. OSsource Android source code: aka. ms/Lens. Rocket. Androidsource More: chrisrisner. com @Chris. Risner Please leave this area blank to allow for picture in picture recording
DEMO Let’s take a look at Lens. Rocket
03 | Choosing the Right Data Store
Data Azure SQL db Azure Table Storage Azure Blob Storage Mongo DB SQL Server in a VM SQL Server On-Prem • Azure SQL database by default – Many other options • Alternatively, use blob storage, table storage, SQL in a VM, or Oracle in a VM through the azure module for node. js or even on-prem SQL Server through Service Bus Relay –. NET runtime provides additional flexibility • Full control over your data in all scenarios
Data in Lens. Rocket • SQL database tables for – – – Account. Data Friends Messages Rocket. File User. Preferences • Blob Storage for – Storing Rocket image files • Connect w/ SAS URL from Mobile Services then send a POST to blob storage Please leave this area blank to allow for picture in picture recording
04 | Adding Custom Logic
http: //Mobileservice. azure-mobile. net/tables/* Action HTTP Verb URL Suffix Create POST /Todo. Item Retrieve GET /Todo. Item? $filter=id%3 D 42 Update PATCH /Todo. Item/id Delete DELETE /Todo. Item/id
Custom APIs in Lens. Rocket • Custom APIs for – – – – Accept. Friend. Request Get. Rocket. For. Recipient Login Register Request. Friend Save. Username Send. Rocket. To. Friends Please leave this area blank to allow for picture in picture recording
05 | Real World Dev Environment
Source Control and Deployment
06 | Versioning
Add version to your client calls
Add version to your client calls
Support multiple client versions in your scripts
07 | Cross-Platform Push w/ NH
Mobile Push Notifications 101 Register device handle at app launch Client app contacts Platform Notification Service (PNS) App updates handle in backend client app Send Notification App backend sends notification to PNS pushes the notification to the app on the device Platform Notification Service Maintain device handles Delete expired handles when PNS rejects them App back-end 3
Push Notification Challenges 1. Cross-Platform Push Notifications 2. Targeting on the server-side based on interest and location 3. Personalizing notifications on the client-side based on language, currency, device, etc. 4. High-Volume with Low Latency 5. Maintaining and accurate device handle registry 3
Azure Push Notifications One-time set up Android app Send Notification i. OS app Windows 8. x app App back-end GCM APNs WNS MPNS Notification Hub
Mobile Services + Notification Hubs 1. Cross-Platform Push Notifications 2. Instant broadcast to segments of your audience, or individual pushes to logical users 3. Personalization and localization 4. High-Volume with Low Latency 5. Device handles and PNS feedback is managed for you 3
Cross-Platform Push in Lens. Rocket • Sending Push when – New Rocket arrives – New friend request received var payload = '{ "message" : "You've received a new rocket!", "collapse_key" : "NEWROCKET" }'; notification. Hub. Service. send(new. Message. to. User. Id, payload, function(error, outcome) { console. log('issue sending push'); console. log('error: ', error); console. log('outcome: ', outcome); }); Please leave this area blank to allow for picture in picture recording
08 | Azure Store
Azure Store • Azure Store launched at //Build (Oct 2012). Currently in preview state. – makes it easy for Azure users to find, buy, and manage third-party services which complement and extend the Azure experience. • Add third-party services just as you would add a virtual machine or website. • Purchase using the same payment instrument as your Azure subscription. • Subscription management within Azure portal. • Single sign-on to third-party portal for service specific management tasks. Please leave this area blank to allow for picture in picture recording
Mobile Store Partners aka. ms/Send. Grid. Mobile aka. ms/New. Relic. Mobile aka. ms/Pusher. Mobile
09 | Before you hit publish (!)
10 | Resources
Mobile at //build • Building Cross-Platform Line of Business Apps with Mobile Services – Friday 4/4 12: 30 – 1: 30 PST – Donna Malayeri, Chris Risner – @lindydonna, @Chris. Risner • Mobile Push Notifications to Any Client with Azure Notification Hubs – Wednesday 4/2 5: 30 – 6: 30 PST – Elio Damaggio – @Elio. Damaggio • Powerful mobile apps with Mobile Services and ASP. NET Web API – Thursday 4/3 5: 30 – 6: 30 PST – Kirill Gavrylyuk, Yavor Georgiev – @Kirill. G_MSFT, @theyavor • All videos will be available on Channel 9
Mobile Services Resources Windows Azure Mobile Services Overview, Tutorials and Resources http: //www. windowsazure. com/en-us/develop/mobile/ Collection of Helpful Tutorials and Resources http: //aka. ms/Common. WAMS Learn/Channel 9 http: //channel 9. msdn. com/Series/Windows-Azure-Mobile-Services SDKs on Git. Hub https: //github. com/Windows. Azure/azure-mobile-services/ REST API Reference http: //msdn. microsoft. com/en-us/library/windowsazure/jj 710108. aspx Windows Azure Pricing https: //www. windowsazure. com/en-us/pricing/calculator/ User. Voice for Feature Requests http: //feedback. windowsazure. com/forums/216254 -mobile-services Microsoft Azure Certified Training http: //www. microsoft. com/learning/en/us/training/azure. aspx Windows Azure
Notification Hubs Resources Windows Azure Mobile Services Overview, Tutorials and Resources Azure Documentation Center MSDN Documenation Android (tutorial) i. OS (tutorial) Windows Store (tutorial) Windows Phone (tutorial) Learn/Channel 9 Introduction | i. OS | Windows Store | Tags and Templates REST API Reference http: //msdn. microsoft. com/en-us/library/windowsazure/jj 710108. aspx Windows Azure Pricing http: //www. windowsazure. com/en-us/pricing/details/notification-hubs/ Microsoft Azure Certified Training http: //www. microsoft. com/learning/en/us/training/azure. aspx Windows Azure
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
- Slides: 43