Push notifications for Windows Phone 8
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
The Microsoft Push Notification Service in Windows Phone is an asynchronous, best-effort service that offers third-party developers a channel to send data to a Windows Phone app from a cloud service in a power-efficient manner.
The following diagram shows how a push notification is sent.
Your app requests a push notification URI from the Push client service.
The Push client service negotiates with the Microsoft Push Notification Service (MPNS), and MPNS returns a notification URI to the Push client service.
The Push client service returns the notification URI to your app.
Your app can then send the notification URI to your cloud service.
When your cloud service has info to send to your app, it uses the notification URI to send a push notification to MPNS.
MPNS routes the push notification to your app.
Depending on the format of the push notification and the payload attached to it, the info is delivered as raw data to the app, the app's Tile is visually updated, or a toast notification is displayed. MPNS returns a response code to your cloud service after a push notification is sent indicating that the notification has been received and will be delivered to the device at the next possible opportunity. Although MPNS doesn’t provide an end-to-end confirmation that your push notification was delivered from your cloud service to the phone, it is possible for MPNS to return a response or error code to the cloud service which indicates that the notification will not be delivered to the device. For more information about response and error codes, see Push Notification Service response codes for Windows Phone 8. In the circumstance that MPNS indicates that a notification will not be delivered, it is up to your service to resubmit the notification, if necessary.