follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications


Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications

  1. 1. Live Tiles andPushNotifications
  2. 2. Topics• End-User Experience• Tile 101• Multiple Live Tiles• Updating a Live Tile from a background process• Push NotificationsWindows Phone
  3. 3. Consumer Experience• Windows phone has the unique ability to provide the end user glanceable access to the information they care most about, via Live Tiles +• Push Notifications offer developers a way to send timely information to the end user’s device even when the application is not running, including Tile updatesWindows Phone
  4. 4. Tiles 101• Shortcuts to apps• Static or dynamic• 2 sizes: small & large – Large only for 1st party apps• End-user is in controlWindows Phone
  5. 5. Data Driven Template Model• A fixed set of data properties• Each property corresponds to a UI element• Each UI element has a fixed position on screen• Not all elements need to be used• Animations are not extensible Background Title Count Image (173 x 173 .png)Windows Phone
  6. 6. Scenarios/Popular Applications Weather Apps  Send to WP7  Weather Tile  Link Tile  Warning Toast  Link Toast Chess by Post  AlphaJax  Turn Tile  Turn Tile  Move Toast  Move Toast Beezz  Seattle Traffic Map  Unread Tile  Traffic Tile  Direct ToastWindows Phone
  7. 7. Primary and Secondary Tiles• Application Tile Front – Pinned from App List – Properties are set initially in the Application Manifest Back• Secondary Tile – New in Windows Phone 7.5! – Created as a result of user input in an applicationWindows Phone
  8. 8. Live Tiles – Local Tile API• Local tile updates (these are *not* push) – Full control of all properties when your app is in the foreground or background – Calorie counter, sticky notes• Multi-Tile! – Deep-link to specific application sections – Launch directly to page/experienceWindows Phone
  9. 9. Live Tiles – Local Tile APIContinued…• Back of tile updates – Full control of all properties when your app is in the foreground or background – Content, Title, Background Content Content string is Background bigger Title Title – Flips from front to back at random interval – Smart logic to make flips asynchronousWindows Phone
  10. 10. DemoDemo 1: Live Tiles – Local Tile API
  11. 11. Tile Schedule• Periodically updates the tile image without pushing message though• Updates images only from the web, not from the app local store• Sets up notification channel and binds it to a tile notification• Few limitations – Image size must be less than 80 KB – Download time must not exceed 60 seconds – Lowest update time resolution is 60 minutes – If the schedule for an indefinite or finite number of updates fails too many times, OS will cancel it• Update recurrence can by Onetime, EveryHour, EveryDay, EveryWeek or EveryMonthWindows Phone
  12. 12. Scheduling Tile Updatepublic partial class MainPage : PhoneApplicationPage { private ShellTileSchedule _mySchedule; public MainPage() { InitializeComponent(); ScheduleTile(); } private void ScheduleTile() { _mySchedule = new ShellTileSchedule(); _mySchedule.Recurrence = UpdateRecurrence.Onetime; _mySchedule.StartTime = DateTime.Now; _mySchedule.RemoteImageUri = new Uri(""); _mySchedule.Start(); }}Windows Phone
  13. 13. Updating Tiles from aBackground Agent• In Windows Phone OS 7.0, only way of updating Live Tiles was from a Tile Schedule or from Notifications – Tile Schedule needs to fetch images from a web URI – Notifications require you to implement a backend service• To have control of shell tiles when the app is not running without using Push Notifications, a good solution is a Background Agent – Use the ShellTile API to locate and update tilesWindows Phone
  14. 14. DemoDemo 2: Updating Tiles from aBackground Agent
  15. 15. Push Notifications• Server-initiated communication• Enable key background scenarios• Preserve battery life and user experience• Prevent polling for updatesWindows Phone
  16. 16. Push Notification Data Flow 2 URI to the service: " 3rd party Push enabled giiMWNTYrRDXAHQtz- service AgrNpzcDAwAAAAQOMDAwMDAwMDAwMDAwMDA applications " 3 Notifications service HTTP POST the 4 message Send PN Message1 Push endpoint is established. URI is created for the endpoint. Microsoft hosted serverWindows Phone
  17. 17. Three Kinds of Notifications• Raw – Notification message content is application-specific – Delivered directly to app only if it is running• Toast – Specific XML schema – Content delivered to app if it is running – If app is not running, system displays Toast popup using notification message content• Tile – Specific XML schema – Never delivered to app – If user has pinned app tile to Start screen, system updates it using notification message contentWindows Phone
  18. 18. Push Notifications – NewFeatures• Multi-Tile/Back of Tile Support – Multiple weather locations, news categories, sports team scores, twitter favorites – Can update all tiles belonging to your application• No API Change for binding tiles – BindToShellTile now binds you to all tiles – Send Tile ID to service and use new attribute to direct update• Three new elements for back of tile propertiesWindows Phone
  19. 19. Toast Notification• App icon and two text fields• Time critical and personally relevant• Users must opt-in via app UIWindows Phone
  20. 20. DemoDemo 3: Push Notifications
  21. 21. Response Custom Headers• Response Code: HTTP status code (200 OK)• Notification Status – Notification received by the Push Notification Service – For example: “X-NotificationStatus:Received”• DeviceConnectionStatus – The connection status of the device – //For example: X-DeviceConnectionStatus:Connected• SubscriptionStatus – The subscription status – //For example: X-SubscriptionStatus:Active• More information – Phone
  22. 22. Security Technical DetailsTwo levels of trustAuthentication:– Phone Client – MS server :– TLS + WL Device ID– MS Server – 3rd party service:– HTTPs (for third-party)– Throttling for unauthenticated servicesAuthorization:– Token (notification URI) validated with each PUSHnotificationWindows Phone
  23. 23. Summary• In this session we covered how tiles work, live tiles, shell tiles as well as how to support multiple tiles from a single application.• We also covered updating a Live Tile from a Background Application as well as via Push NotificationsWindows Phone
  24. 24. Q&A
  25. 25. 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.© 2011 Microsoft Corporation.All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks inthe U.S. and/or other countries.