app-to-app communication

37

Upload: glynn

Post on 25-Feb-2016

58 views

Category:

Documents


0 download

DESCRIPTION

App-to-App Communication. Sean McKenna Program Manager, Windows Phone [email protected] 2-212. What is App-to-App Communication?. In the beginning…. Extending apps with the phone. Your App. What about the other way…?. Extending the phone with apps. And finally…. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: App-to-App  Communication
Page 2: App-to-App  Communication

App-to-App CommunicationSean McKennaProgram Manager, Windows [email protected]

Page 3: App-to-App  Communication

What is App-to-App Communication?

Page 4: App-to-App  Communication

In the beginning…

Page 5: App-to-App  Communication

Your App

Extending apps with the phone

Page 6: App-to-App  Communication

What about the other way…?

Page 7: App-to-App  Communication

Extending the phone with apps

Page 8: App-to-App  Communication

And finally…

Page 9: App-to-App  Communication

Custom URI AssociationsLaunch other apps to complete tasksPlay an album on SpotifyPlay a video in YouTubePost an update to FacebookLaunch device settings

Link your app into core experiencesBrowserMessagingEmailLauncher.LaunchUriAsync(new Uri("myapp:foo=1&bar=2"));

Page 10: App-to-App  Communication

Useful Built-in URI AssociationsTask URI SchemeLock screen settings ms-settings-lock:Email and accounts ms-settings-emailandaccounts:Location settings ms-settings-location:Search for apps by publisher zune:search?publisher=<publisherID>

Page 11: App-to-App  Communication

File Type AssociationsLaunch files in the right appMicrosoft OfficeAdobe ReaderHike & Bike

Handle custom files in your appBrowserEmailOffice Hubvar pdfFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///Local/mydoc.pdf"));

Launcher.LaunchFileAsync(pdfFile);

Page 12: App-to-App  Communication

Useful built-in file typesMicrosoft Word documents

Microsoft PowerPoint presentations

Microsoft Excel spreadsheets

Page 13: App-to-App  Communication

Demo: Opening an Office Document

Page 14: App-to-App  Communication

A Look Under the Hood

Source App

Execution Manager

Package Manage

r

Launch by file:Foo.bar

TokenID = 1234

Get handlers for ‘.bar’

Data Sharing ServiceCreate file

brokering token

Target AppLaunch target with token

Redeem token for file

Page 15: App-to-App  Communication

User Experience

Page 16: App-to-App  Communication

Guiding PrinciplesUser is always in controlApps cannot take over an extension

The list of installed apps is private user dataApps cannot query installed apps, URI associations, or file extensions

Standard tasks should be simple and predictableStandard types are handled by built-in experiences

Page 17: App-to-App  Communication

One Handler

Launch URI: skype:call?5551234

Page 18: App-to-App  Communication

No handlers

Page 19: App-to-App  Communication

2+ Handlers

Page 20: App-to-App  Communication

What’s happening in the wild?

Page 21: App-to-App  Communication

Demo: Building a mashup with URI Associations

Page 22: App-to-App  Communication

Using URI Associations to Extend Your App

Spotifyspotify:album:<albumID>spotify:track:<trackID>

YouTubevnd.youtube:<videoID>

Page 23: App-to-App  Communication

Using URI Associations to Extend Your App Facebook

fb:profile[?id=<profileId>]fb:events[?id=<eventId>]fb:groups[?id=<groupId>]fb:pages[?id=<pageId>]fb:post?text=<textToPost>

Foursquarefoursquare://venues/<venueID>foursquare://checkins/<checkinID>foursquare://tips/<tipID>foursquare://users/<userID>

Page 24: App-to-App  Communication

Using URI Associations to Extend Your AppHere Drive (+others)

ms-drive-to:?destination.latitude=<latitude> &destination.longitude=<longitude> &destination.name=<name>

Here Maps (+others)ms-walk-to:?destination.latitude=<latitude> &destination.longitude=<longitude> &destination.name=<name>

Page 25: App-to-App  Communication

App Launching via ProximityTarget apps• Your app can be launched based on a URI sent from another

device• Handler code is exactly the same• Proximity capability is not requiredSource apps• You can launch apps on other devices using the Proximity

APIs

Page 26: App-to-App  Communication

Demo: Launching via proximity

Page 27: App-to-App  Communication

Coming Soon:Facebook Single Sign-On

Page 28: App-to-App  Communication

Facebook Single Sign-OnRegister your app with Facebook Dev PortalInvoke auth with FB AppID and requested permissionsHandle reactivation when user returns from Facebook app

Page 29: App-to-App  Communication

Facebook Single Sign-On

Your App Facebook App

Page 30: App-to-App  Communication

RecapUse URI schemes and file associations to extend your appSupport your own schemes and file types for exposureHelp us evangelize and catalog these extensions

Page 31: App-to-App  Communication

Sean [email protected]

THANK YOU!

Page 32: App-to-App  Communication

Sean McKenna [email protected]

Q&A

Page 33: App-to-App  Communication

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 34: App-to-App  Communication

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Page 35: App-to-App  Communication

Coming Soon: Facebook Single Sign-On

Page 36: App-to-App  Communication

Facebook Single Sign-OnRegister your app with Facebook Dev PortalInvoke auth with FB AppID and requested permissionsHandle reactivation when user returns from Facebook app

Page 37: App-to-App  Communication

Facebook Single Sign-On

Your App Facebook App