Building Connected Android Apps Chris Risner Technical Evangelist Microsoft @chrisrisner.

Post on 12-Jan-2016

282 views 2 download

Transcript of Building Connected Android Apps Chris Risner Technical Evangelist Microsoft @chrisrisner.

Building Connected Android Apps

Chris RisnerTechnical EvangelistMicrosoft

http://chrisrisner.com@chrisrisner

• Let’s build an app!• How Microsoft got here?• Mobile Services• Features and demos• Win a prize• Questions

What we’re going to talk about

Let’s build an app!

How Microsoft got here?

What we had

Cloud services

Storage Identity

What we neededCross Platform Features

What we made

Auth

What is Windows Azure Mobile Services?

Data

NotificationsServer Logic

Scheduler

Logging & Diag

Scale

Getting Started a backend for your mobile app in minutes Demo

Structured StorageStructured Storage with SQL DatabaseSame DB – multiple Mobile Services

AppX.Todoitem

AppY.Todoitem

Manage data inPortal, SQL Portal

SQL Management Studio

REST API

CLI Tools

JSON to SQL type mappings

JSON Value T-SQL Type

Numeric values (integer, decimal, floating point)

Float

Boolean Bit

DateTime DateTimeOffset(3)

String Nvarchar(max)

Server Logic

Automatic REST API generated for storageDynamic Schema on/offAbility to customize server logic that intercepts table requests

Server LogicSupported Modules + Globals

requestconsolepush.*tablesmssqlstatusCodesazurestore (pusher, sendgrid, twilio, etc)

mssql.query('select top 1 * from statusupdates', { success: function(results) { console.log(results);

} }

);

Server Logicadding server logic on CRUD

operations Demo

Push Notification Lifecycle Overview 1. Register for push

notifications

2. Send Registration ID to Mobile Service

3. Push from server side scripts

Android

(1)

(2)

(3)

(3)

Push NotificationsDemo

User Auth

Auth Data and ScriptsTable level permissions for each CRUD operation

EveryoneAnyone with the Application KeyOnly Authenticated UsersOnly Scripts and Admins

More granular control with server side scriptsuser.level: {admin, authenticated, anonymous}user.userId: id or undefined if not authenticated

Adding Authenticationintegrating with Google Demo

Command Line ToolsCreate servicesDelete servicesCreate (with auth options), update, delete, list tablesUpload, delete, download, list scriptsGet configuration

Using the CLI Demo

SchedulerExecute scripts on a Schedule

by Minutes

by Hours

by Days

By Months

Execute scripts on DemandExamples Periodic purge of old data

Poll and aggregate from 3rd party (Twitter, RSS, others)

Process/resize images

Schedule sending push notifications for a given time of day

Scheduling a taskAdding Todo Items Demo

Diagnostics, Logging and Scale

DiagnosticsAPI callsCPU TimeData Out

Loggingconsole.error(…)console.log(…)…

Scale - ComputeScale out instance countScale up VM size

Scale - StorageScale out mobile service tenant to dedicated SQL DBScale up SQL DB

Diagnostics, Logging, Scale

Demo

Pricing Example:

10 x Mobile Services on shared instances

100MB SQLDatabase

Unlimited data in

<165MB daily out

How?10 FREE mobile services on shared instanceIncludes 165MB/day of FREE data out from API calls Cost - All services sharing a 100MB DB is $5 USD / Month Use Pricing Calculator to Estimate your costs

=$5/ Month

Note: Free data out is per subscription, not per mobile service

Auth

Summary

Data

NotificationsServer Logic

Scheduler

Logging & Diag

Scale

Win a JamBox

• Complete the Quick Start challenge

• 1 extra entry for showing use of Auth

• 3 extra entries for showing use of push

• Winner announced on 4/18

e-mail: chrisner@microsoft.com

The QuickStart Challenge

• Sign up for the free trial at www.windowsazure.com/android

• Complete the Mobile Services QuickStart

• Send me an image (including your account e-mail in the corner)

• Entries must be submitted by Thursday 1pm PST

• E-mail chrisner@microsoft.com

Useful ResourcesGet a Windows Azure Free Trial Accounthttp://www.windowsazure.com/

Learn moreFind videos, tutorials and more at https://www.windowsazure.com/android

Help with Mobile ServicesQ&A Forum: Windows Azure Mobile Services ForumFeature Rqst: Windows Azure Mobile Services UserVoiceFeedback: mobileservices@microsoft.comTwitter: @chrisrisner

Presentations, demos, hands on labsWindows Azure Training Kit: Download here