Name Title Microsoft Corporation Push Notification Introduction and Platform Interaction.

Slides:



Advertisements
Similar presentations
CEA 2014 Overview Presented to the ATIS ITU-T FG IPTV Interoperability Forum January 24, 2007 Mt. View, CA Mark R. Walker PhD Sr. Viiv TM Planning Architect.
Advertisements

UNIVERGE® SV8100 Desktop Suites
Evaluations Submit your evals online.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Windows Azure Mobile Services Štěpán Bechynský Technical Evangelist Microsoft.
Students: Ilya Paskhover, Alex Tarasiuk Supervisors: Simon Zeltser, Idan Sheinberg.
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
Authentication solutions for Outlook and Office 365 Multi-factor authentication for Office 365 Outlook client futures.
Introduction to push technology © 2009 Research In Motion Limited.
Technical Brief v1.0. Communication tools that broadcast visual content directly onto the screens of computers, using multiple channels and formats Easy.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Introduction to the Secure SMTP Server service. Secure SMTP server is a secure, reliable SMTP mail relay server for your outgoing mail. Secure SMTP service.
Live Tiles Yvan Ngneunmeu, Cameroon Microsoft Student Partners Lead
Punit Shah Technical Lead | Microsoft
ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011.
Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation SESSION CODE: WPH311.
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
Google Cloud Messaging for Android (GCM) is a free service that helps developers send data from servers to their Android.
Windows Phone 8 uses Microsoft Push Notifications Windows 8/8.1 uses Windows Notification Service Windows Phone 8.1 uses Windows Notification.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
VIRTUAL PRIVATE NETWORK By: Tammy Be Khoa Kieu Stephen Tran Michael Tse.
Local, scheduled, periodic and push updates.
Basic State Plate App Logo Short Name Plate App Logo Short Name Semi-Live State Plate App Logo Short Name Badge Plate App Logo Short Name Badge Live.
Computer Emergency Notification System (CENS)
(Business) Process Centric Exchanges
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Understand your end-users and your app with Application Insights.
1 Web Services Web and Database Management System.
Automated Assessment Management System. The Assessment Cycle Trainee | Learner Dashboard Trainer Dashboard Employer Dashboard Verifier Dashboard Assessor.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
User Interface Design In Windows using Blend.
ICM – API Server & Forms Gary Ratcliffe.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Integrated Mobile Marketing Platform Emergic mConnector Integrated -Mobile Marketing Platform Presented By: Sales Person Name ID: Mobile:
Building Windows Phone applications with Silverlight, part 2 Peter Torr Program Manager, Microsoft
Web Application (In)security Note: Unless noted differently, all scanned figures were from the textbook, Stuttard & Pinto, 2011.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Windows Phone Tiles and Notifications Sending alerts to your app.
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
1 Server Business Logic & OAuth Beta Overview October 4, 2010 Alan Hantke Product Development Server Business Logic Intuit Partner Platform Diane Weiss.
Developing Windows 8 Style Application With HTML and JavaScript Lino Tadros | Falafel Software.
Mobilizing Your SAS® Business Analytic Reports Falko Schulz Sr. Systems Engineer SAS Australia & New Zealand.
07 | Live tiles & notifications
CLOUDENTIFY.
Mobile Development Name Title Company.
Developing IoT endpoints with mbed Client
Introduction to Windows Azure AppFabric
Viewbiquity HTML5 Tom Shafron Developer’s Blog CEO, Viewbiquity
What is REST API ? A REST (Representational State Transfer) Server simply provides access to resources and the REST client accesses and presents the.
Microsoft Dynamics.
Microsoft Build /17/2018 5:42 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Building great Metro style apps for mobile broadband devices
intro to notifications in iOS 10
Myth Busting: Top 5 Web App Myths
Building Windows Phone 7 Applications with the Windows Azure Platform
11/27/2018 6:59 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Building Windows 8 and Windows Azure apps
1/16/2019 8:14 PM SAC-863T Delivering notifications with the Windows Push Notification Service and Windows Azure Darren Louie, Nick Harris Program Manager,
Technical Capabilities
Office 365 Development.
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Using tiles and notifications
User Interface Design In Windows using Blend.
User Segmentation and Targeted Push Notifications for UWP apps
WCF Data Services and Silverlight
Erik Porter Program Manager ASP.NET Microsoft Corporation
03 | Async Programming & Networking Intro
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Presentation transcript:

Name Title Microsoft Corporation Push Notification Introduction and Platform Interaction

2 Start Tiles 101 Shortcuts to apps Static or dynamic 2 sizes: small & large “Pin to Start”

3 Data Driven Template Model A fixed set of data properties Each property corresponds to an UI element Each UI element has a fixed position on screen Not all elements need to be used Background Image TitleCount Animations are not extensible

4 Tile Design Considerations Easy recognition Keep things simple Update tile in real-time

5 Notification Toasts 101 App icon + 2 text fields Interruptive, transient and chase-able Time critical and personally relevant Users must opt-in via app UI

6 Why does Push notifications give the end user great battery life? How does Push notifications contribute to a deterministic behavior? How does Push notifications change the developers design patterns? Windows Push Notifications Introduction

7 URI to the service: " QHgiiMWNTYrRDXAHQtz- AgrNpzcDAwAAAAQOMDAwMDAwMDAwMDAwMD A" Push enabled applications Notifications service HTTP POST the message Push endpoint is established. URI is created for the endpoint Rich Client, Web 2.0 Applications 3 rd party service Microsoft hosted server Send PN Message 4

Using PN from your Windows Phone application – Part #1 Try, Find, and New httpChannel = HttpNotificationChannel.Find(channelName); if (null != httpChannel) { //subscribe to Channel events //subscribe to Notification events //Register URI } else …. httpChannel = new HttpNotificationChannel(channelName, "HOLWeatherService"); httpChannel.ChannelUriUpdated += new EventHandler (httpChannel_ChannelUri Updated); //subscribe to Channel events httpChannel.Open(); //Register URI

Using PN from your Windows Phone application – Part #1 Try, Find, and New //Subscribe to the channel events private void SubscribeToChannelEvents() { httpChannel.HttpNotificationReceived += new EventHandler (httpChannel_HttpNotificationReceived); httpChannel.ShellEntryPointNotificationReceived += new EventHandler (httpChannel_ShellEntryPointNotificationReceived); httpChannel.ShellNotificationReceived += new EventHandler (httpChannel_ShellNotificationReceived); httpChannel.ExceptionOccurred += new EventHandler (httpChannel_ExceptionOccurred); }

Using PN from your Windows Phone application – Part #2 Subscribe to notifications private void SubscribeToNotifications() { //Subscribe to a toast notification httpChannel.BindToShellNotification(); ShellEntryPoint shellEntryPoint = new ShellEntryPoint(); shellEntryPoint.RemoteImageUri = new Uri(" brand.png", UriKind.Absolute); //Subscribe to a tile notification httpChannel.BindToShellEntryPoint(shellEntryPoint); }

11 Live content from the cloud Tile extensions Only applies to background images of tiles Atomic operation performed when download completed

Sending Notifications – Server Side HttpWebRequest request = (HttpWebRequest)WebRequest.Create(channelUri); request.Method = WebRequestMethods.Http.Post; request.ContentType = "text/xml; charset=utf-8"; request.ContentLength = payload.Length; request.Headers[MESSAGE_ID_HEADER] = Guid.NewGuid().ToString(); //"token“ or “toast” request.Headers[NOTIFICATION_CLASS_HEADER] = ((int)notificationType).ToString(); if (notificationType == NotificationType.Toast) request.Headers[WINDOWSPHONE_TARGET_HEADER] = "toast"; else if (notificationType == NotificationType.Token) request.Headers[WINDOWSPHONE_TARGET_HEADER] = "token";

Sending Tile Notification – Server Side Need to POST

Sending Toast Notification – Server Side MemoryStream stream = new MemoryStream(); byte[] prefix = Encoding.UTF8.GetBytes("X-WindowsPhone-Target: TOAST\r\n\r\n"); stream.Write(prefix, 0, prefix.Length); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, Encoding = Encoding.UTF8 }; XmlWriter writer = XmlWriter.Create(stream, settings); writer.WriteStartDocument(); writer.WriteStartElement("wp", "Notification", "WPNotification"); writer.WriteStartElement("wp", "Toast", "WPNotification"); writer.WriteStartElement("wp", "Text1", "WPNotification"); writer.WriteValue(text1); writer.WriteEndElement(); writer.WriteStartElement("wp", "Text2", "WPNotification"); writer.WriteValue(text2); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); byte[] payload = stream.ToArray(); return payload;

Sending Tile Notification – Server Side Need to POST

Sending Tile Notification – Server Side MemoryStream stream = new MemoryStream(); byte[] prefix = Encoding.UTF8.GetBytes("X-WindowsPhone-Target: TOKEN\r\n\r\n"); stream.Write(prefix, 0, prefix.Length); XmlWriterSettings settings = new XmlWriterSettings() { Indent = true, Encoding = Encoding.UTF8 }; XmlWriter writer = XmlWriter.Create(stream, settings); writer.WriteStartDocument(); writer.WriteStartElement("wp", "Notification", "WPNotification"); writer.WriteStartElement("wp", "Token", "WPNotification"); writer.WriteStartElement("wp", "Img", "WPNotification"); writer.WriteValue(backgroundImageUri); writer.WriteEndElement(); writer.WriteStartElement("wp", "Count", "WPNotification"); writer.WriteValue(count.ToString()); writer.WriteEndElement(); writer.WriteStartElement("wp", "Title", "WPNotification"); writer.WriteValue(title); writer.WriteEndElement(); writer.Close(); byte[] payload = stream.ToArray(); return payload;

17Microsoft confidential. 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  Response Custom Headers

18 Technical Details: Security Authentication: Phone Client – MS server : TLS + WL Device ID MS Server – 3 rd party service: HTTPs (for third-party) Throttling for unauthenticated services Authorization Token (notification URI) validated with each PUSH notification

19 Summary Efficient battery utilization Minimize memory footprint Reduce processor cycles Unified heartbeat reduces number of connections Device is always “visible” from the cloud Simple programming model on the phone Simple to integrate existing Web 2.0 solutions Quick ramp up for developers who currently lacks services

20 Web 2.0 services which use the Web hooks pattern Download the tools! Works on the Emulator! Microsoft hosted push service is in production. What’s next?

QUESTIONS?