Windows Push Notification Service

Last updated
Windows Push Notification Service
Windows Push Notification Service.svg
Overview of the WNS architecture.
Developer(s) Microsoft
Target platform(s) Windows Phone 8.1, Windows 8, Windows 8.1, Windows 10, Windows 10 Mobile
Programming language(s) C#
StatusActive
LicenseClosed-source
Website dev.windows.com/en-us   OOjs UI icon edit-ltr-progressive.svg

Windows Push Notification Service (commonly referred to as Windows Notification Service or WNS) is a notification service developed by Microsoft for all devices running Microsoft Windows platforms. It allows for developers to send push data ("toast" and "tile" updates) to Windows and Universal Windows Platform applications which implement the feature. [1] Designed as a successor to the Microsoft Push Notification Service, it was first supported on Windows 8 and subsequently on Windows Phone 8.1 upon its release. [2]

Contents

Technical details

Design and compatibility

The Windows Push Notification Service (WNS) was designed as a successor to the Microsoft Push Notification Service (MPNS), which was only supported natively on the Windows Phone 8 Operating System. Developers can still use the MPNS on apps that are installed on newer versions of Windows Mobile (Windows Phone 8 or Windows Phone 8.1), but only if the Windows application was already registered to use the MPNS and has been converted to a Microsoft Silverlight application and modified to re-target the new platform. [3]

In 2015, Microsoft announced that the WNS would be expanded to utilize the Universal Windows Platform architecture, allowing for push data to be sent to Windows 10, Windows 10 Mobile, Xbox, as well as other supported platforms using universal API calls and POST requests. [4]

During the 2015 Build keynote, Microsoft announced a Universal Windows Platform bridge that would allow Android and iOS software to be ported to Windows 10 Mobile and published to the Windows Store. [5] In August 2015, A version of the Microsoft Android bridge toolset was reported to be leaked and available on the internet along with its documentation. [6] The leaked toolset required developers to register and use the WNS to send notification data to ported applications, and would not allow for Google Cloud Messaging to be used instead. Microsoft later discontinued the Android bridge project in favor of continuing support for iOS application porting instead. [7]

During the 2016 Build keynote, Microsoft announced an update to the WNS and the Windows 10 Operating System that will allow for Android and iOS devices to forward push notifications received to Windows 10 to be viewed and discarded. [8]

Architecture

The architecture of the Windows Push Notification Service is similar to that of its predecessor, in that it consists of servers and interfaces that generate, maintain, store, and authenticate unique identifiers (called Channel URI Identifiers) for all devices that register to use the service. [2] When a device enrolls to receive data and notification information using the WNS, it first sends a device registration request to the WNS network. The WNS network acknowledges the request, and responds with the device's unique Channel URI Identifier. [9] Typically, the device will then send its identifier to a server owned by the developer so that it can be stored and used for sending notifications. [1] When the app developer wishes to transmit a notification or other WNS data to the device, it will transmit a POST request to the WNS network. [10] The network will acknowledge and authenticate the request. If the authentication succeeds, the data to be transmitted is enqueued and then sent to the device from the WNS network using the Channel URI Identifier.[ citation needed ]

Related Research Articles

A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc; most application software developers use specific software development kits.

Push technology, also known as server Push, refers to a communication method, where the communication is initiated by a server rather than a client. This approach is different from the "pull" method where the communication is initiated by a client.

Push email is an email system that provides an always-on capability, in which when new email arrives at the mail delivery agent (MDA), it is immediately, actively transferred (pushed) by the MDA to the mail user agent (MUA), also called the email client, so that the end-user can see incoming email immediately. This is in contrast with systems that check for new incoming mail every so often, on a schedule. Email clients include smartphones and, less strictly, IMAP personal computer mail applications.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

<span class="mw-page-title-main">Windows Phone</span> Family of mobile operating systems developed by Microsoft

Windows Phone (WP) is a discontinued mobile operating system developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design language. Unlike Windows Mobile, it was primarily aimed at the consumer market rather than the enterprise market.

A mobile application or app is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

<span class="mw-page-title-main">Android Cloud to Device Messaging</span> Defunct mobile notification service

Android Cloud to Device Messaging, or C2DM, is a defunct mobile notification service that was developed by Google and replaced by the Google Cloud Messaging service. It enabled developers to send data from servers to Android applications and Chrome extensions. C2DM originally launched in 2010 and was available beginning with version 2.2 of Android. On June 27, 2012, Google unveiled the Google Cloud Messaging service aimed at replacing C2DM, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of API rate limits and maximum message sizes. Google announced official deprecation of the C2DM service in August 2012, and released documentation to assist developers with migrating to the new service. The C2DM service was discontinued for existing applications and completely shut down on October 20, 2015.

<span class="mw-page-title-main">Windows Phone 8</span> Second generation of Microsofts Windows Phone mobile operating system

Windows Phone 8 is the second generation of the Windows Phone mobile operating system from Microsoft. It was released on October 29, 2012, and, like its predecessor, it features a flat user interface based on the Metro design language. It was succeeded by Windows Phone 8.1, which was unveiled on April 2, 2014.

<span class="mw-page-title-main">Google Cloud Messaging</span> Mobile notification service

Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, as well as applications or extensions developed for the Google Chrome internet browser. It was available to developers free of charge. The GCM Service was first announced in June 2012 as a successor to Google's now-defunct Android Cloud to Device Messaging (C2DM) service, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of limitations on API send-rates and message sizes. It has been superseded by Google's Firebase Cloud Messaging (FCM) on May 29, 2019.

Microsoft mobile services are a set of proprietary mobile services created specifically for mobile devices; they are typically offered through mobile applications and mobile browser for Windows Phone platforms, BREW, and Java. Microsoft's mobile services are typically connected with a Microsoft account and often come preinstalled on Microsoft's own mobile operating systems while they are offered via various means for other platforms. Microsoft started to develop for mobile computing platforms with the launch of Windows CE in 1996 and later added Microsoft's Pocket Office suite to their Handheld PC line of PDAs in April 2000. From December 2014 to June 2015, Microsoft made a number of corporate acquisitions, buying several of the top applications listed in Google Play and the App Store including Acompli, Sunrise Calendar, Datazen, Wunderlist, Echo Notification Lockscreen, and MileIQ.

<span class="mw-page-title-main">Windows Phone 8.1</span> Third generation of Microsofts Windows Phone mobile operating system

Windows Phone 8.1 is the third generation of Microsoft's Windows Phone mobile operating system, succeeding Windows Phone 8. Rolled out at Microsoft's Build Conference in San Francisco, California on April 2, 2014, it was released in final form to Windows Phone developers on April 14, 2014 and reached general availability on August 4, 2014. All Windows Phones running Windows Phone 8 can be upgraded to Windows Phone 8.1, with release dependent on carrier rollout dates.

Firebase is a set of backend cloud computing services and application development platforms provided by Google. It hosts databases, services, authentication, and integration for a variety of applications, including Android, iOS, JavaScript, Node.js, Java, Unity, PHP, and C++.

<span class="mw-page-title-main">Nokia X platform</span> Linux-based mobile operating system and software platform

The Nokia X platform was a Linux-based mobile operating system and software platform originally developed by Nokia, and subsequently by Microsoft Mobile. Introduced on 24 February 2014, it was forked from Android and used on all the devices of the Nokia X family. It was also the next Nokia Linux project after the ill-fated MeeGo.

<span class="mw-page-title-main">Windows 10 Mobile</span> Mobile operating system developed by Microsoft

Windows 10 Mobile is a discontinued mobile operating system developed by Microsoft. First released in 2015, it is a successor to Windows Phone 8.1, but was marketed by Microsoft as being an edition of its PC operating system Windows 10.

Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.

<span class="mw-page-title-main">Microsoft Push Notification Service</span> Push Notification Service for the Windows Phone

Microsoft Push Notification Service is a mobile service developed by Microsoft. It allows for developers to send push data from servers to Windows Phone applications. The MPNS is natively supported on applications that target the Windows Phone 8 Operating System. Microsoft announced the Windows Notification Service for Windows 8 and Windows Phone 8.1 in 2011, effectively replacing the MPNS with this service. The MPNS can be used on applications that are installed on Windows Phone 8.1 if the source code is migrated to a Microsoft Silverlight application, modified to target Windows Phone 8.1, and was already registered to use the MPNS before the upgrade.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly. It is intended to work on any platform with a standards-compliant browser, including desktop and mobile devices.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud service for messages and notifications for Android, iOS, and web applications, which as of May 2023 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

Permissions are a means of controlling and regulating access to specific system- and device-level functions by software. Typically, types of permissions cover functions that may have privacy implications, such as the ability to access a device's hardware features, and personal data. Permissions are typically declared in an application's manifest, and certain permissions must be specifically granted at runtime by the user—who may revoke the permission at any time.

References

  1. 1 2 "Windows 8 push notifications". June 3, 2012. Archived from the original on October 12, 2016. Retrieved May 28, 2016.
  2. 1 2 "Windows Push Notification Services (WNS) overview (Windows Runtime apps)". Microsoft. Archived from the original on November 15, 2017. Retrieved November 29, 2015.
  3. "Choosing MPNS or WNS for a Windows Phone Silverlight 8.1 app". Microsoft. Archived from the original on March 4, 2016. Retrieved November 4, 2015.
  4. Gallo, Kevin (March 2, 2015). "A first look at the Windows 10 universal app platform". Microsoft. Archived from the original on December 30, 2016. Retrieved November 29, 2015.
  5. Hachman, Mark (August 6, 2015). "Microsoft releases iOS-to-Windows app maker Windows Bridge to open source". PC World . IDG. Archived from the original on July 4, 2017. Retrieved October 9, 2015.
  6. Saran, Cliff (August 18, 2015). "Android for Windows Mobile tools leaked on web". Computer Weekly. Archived from the original on March 11, 2022. Retrieved May 28, 2016.
  7. Jo Foley, Mary (February 25, 2016). "Microsoft: Our Android Windows 10 bridge is dead, but iOS, Win32 ones moving ahead". ZDNet. Archived from the original on October 26, 2021. Retrieved February 26, 2016.
  8. Ligas, Nicola (April 1, 2016). "Windows 10 will support notifications from Android (ah yes, even Windows 10 Mobile)". Smartworld.it. Archived from the original on May 12, 2016. Retrieved May 28, 2016.
  9. "Windows Push Notification Services (WNS) overview". Microsoft. May 4, 2016. Archived from the original on November 16, 2016. Retrieved May 28, 2016.
  10. Snoei, Ton. "Windows Phone 8.1 Universal App Push Notifications (WNS) – Part 1". Snoei.net. Archived from the original on May 22, 2016. Retrieved May 28, 2016.