in the beginning… what about the other way…?

Post on 03-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

App-to-App CommunicationSean McKennaProgram Manager, Windows Phoneseanmck@microsoft.com2-212

What is App-to-App Communication?

In the beginning…

Your App

Extending apps with the phone

What about the other way…?

Extending the phone with apps

And finally…

Custom URI AssociationsLaunch other apps to complete tasksPlay an album on Spotify

Play a video in YouTube

Post an update to Facebook

Launch device settings

Link your app into core experiencesBrowser

Messaging

EmailLauncher.LaunchUriAsync(new Uri("myapp:foo=1&bar=2"));

Useful Built-in URI AssociationsTask URI Scheme

Lock 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>

File Type AssociationsLaunch files in the right appMicrosoft Office

Adobe Reader

Hike & Bike

Handle custom files in your appBrowser

Email

Office Hub

var pdfFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///Local/mydoc.pdf"));

Launcher.LaunchFileAsync(pdfFile);

Useful built-in file types

Microsoft Word documents

Microsoft PowerPoint presentations

Microsoft Excel spreadsheets

Demo: Opening an Office Document

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 Service

Create file brokering token

Target AppLaunch target

with token

Redeem token for file

User Experience

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

One Handler

Launch URI: skype:call?5551234

No handlers

2+ Handlers

What’s happening in the wild?

Demo: Building a mashup with URI Associations

Using URI Associations to Extend Your App

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

YouTube

vnd.youtube:<videoID>

Using URI Associations to Extend Your App

Facebookfb: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>

Using URI Associations to Extend Your App

Here 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>

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 required

Source apps• You can launch apps on other devices using the Proximity

APIs

Demo: Launching via proximity

Coming Soon:Facebook Single Sign-On

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

Facebook Single Sign-On

Your App Facebook App

Recap

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

Sean McKennaseanmck@microsoft.com

THANK YOU!

Sean McKenna seanmck@microsoft.com

Q&A

Evaluate this session

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

© 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.

Coming Soon: Facebook Single Sign-On

Facebook Single Sign-On

Register your app with Facebook Dev PortalInvoke auth with FB AppID and requested permissionsHandle reactivation when user returns from Facebook app

Facebook Single Sign-On

Your App Facebook App

top related