Overview of Push Notifications Support on Windows Phone

Introduction

Today’s world is all about instant updates. Users check
their mobile gadgets the minute they vibrate indicating a new mail, instant
message, or Facebook update. To support such scenarios, Microsoft offers the Microsoft
Push Notification Service
, which provides a reliable method to send data to
your Windows
Phone
device.

For an application to be push-enabled, applications need to
have a push client service running, which talks with the Microsoft Push
Notification Service and gets a notification URI. The application is supposed
to send the URI to the service (Facebook, Hotmail, Exchange, etc.) from which
you want to receive notifications. Whenever the service (Facebook, Hotmail,
Exchange, etc.) wants to send information to its registered listeners (e.g.
Windows Phone device), it uses the URI mentioned earlier to send a push
notification to the Microsoft Push Notification Service, which then forwards
the information to the Windows Phone device.

There are three different ways in which the push
notification can be delivered to a Windows Phone application.

  1. Toast
    notification – a toast notification will be displayed.
  2. Tile
    notification- the application’s tile is updated
  3. Raw
    notification

Developers should note that there is a caveat with the
Microsoft Push Notification service in that there is no confirmation that the
push notification was successfully delivered from the web service to the
device.

While using push notifications, developers should remember
that there is a limitation of one push notification channel per application and
30 channels per device. If this limitation is exceeded, an InvalidOperationException
of type PushNotificationChannelQuotaExceeded will the thrown.

The Push notifications can have a maximum size of 1KB for
the header and 3KB for the payload.

A Toast notification consists of the Title and content. In a
push toast notification, a small icon of the application is shown next to the
left of the “Title text”.

A raw notification is simply ignored if the application is
not currently running. The Microsoft Push Notification service will not even
deliver the notification if the application is not running.

To receive push notifications, a Windows Phone application
must open a push channel if one does not exist. The application must then
register for the ChannelUriUpdated event.

If raw notifications are to be processed, the application
needs to register for the HttpNotificationReceived event.

Every time the application starts, make sure to pass the URI
to the web service. Additionally, it is recommended to pass the DeviceID also,
so that the web service knows which URI was registered from which device.

The application can close the notifications channel by using
the Close method.

Using the Push Notification service can result in errors and
exceptions. Make sure you handle those in your application. Errors are returned
to the application via the ErrorOccurred event handler and
InvalidOperationException on the HttpNotificiationChannel object.

Summary

In this article, we learned about push notification support
on Windows Phone. In an upcoming article, we will learn how we can implement
receiving a push service notification in a Windows Phone application.

More by Author

Must Read