Upload
alaina-williams
View
218
Download
0
Embed Size (px)
Citation preview
App-to-App CommunicationSean McKennaProgram Manager, Windows [email protected]
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
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 [email protected]
THANK YOU!
Sean McKenna [email protected]
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