app-to-app communication
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 PresentationTRANSCRIPT
![Page 1: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/1.jpg)
![Page 2: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/2.jpg)
App-to-App CommunicationSean McKennaProgram Manager, Windows [email protected]
![Page 3: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/3.jpg)
What is App-to-App Communication?
![Page 4: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/4.jpg)
In the beginning…
![Page 5: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/5.jpg)
Your App
Extending apps with the phone
![Page 6: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/6.jpg)
What about the other way…?
![Page 7: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/7.jpg)
Extending the phone with apps
![Page 8: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/8.jpg)
And finally…
![Page 9: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/12.jpg)
Useful built-in file typesMicrosoft Word documents
Microsoft PowerPoint presentations
Microsoft Excel spreadsheets
![Page 13: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/13.jpg)
Demo: Opening an Office Document
![Page 14: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/15.jpg)
User Experience
![Page 16: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/17.jpg)
One Handler
Launch URI: skype:call?5551234
![Page 18: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/18.jpg)
No handlers
![Page 19: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/19.jpg)
2+ Handlers
![Page 20: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/20.jpg)
What’s happening in the wild?
![Page 21: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/21.jpg)
Demo: Building a mashup with URI Associations
![Page 22: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/22.jpg)
Using URI Associations to Extend Your App
Spotifyspotify:album:<albumID>spotify:track:<trackID>
YouTubevnd.youtube:<videoID>
![Page 23: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/26.jpg)
Demo: Launching via proximity
![Page 27: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/27.jpg)
Coming Soon:Facebook Single Sign-On
![Page 28: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/29.jpg)
Facebook Single Sign-On
Your App Facebook App
![Page 30: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/30.jpg)
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 33: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/34.jpg)
© 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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/35.jpg)
Coming Soon: Facebook Single Sign-On
![Page 36: App-to-App Communication](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062218/56816762550346895ddc3a1a/html5/thumbnails/37.jpg)
Facebook Single Sign-On
Your App Facebook App