Importance of Push Notifications

Push notifications are one of the best tools app marketers have at their disposal right now. As I commented on a previous post, one of the ways you can measure your app’s engagement is through Frequency of Visit.

Push Notifications is one of the best and most direct ways to boost your Frequency of Visit ratio.

In a nutshell, push notifications allow developers to send messages directly to users who have previously installed one of your apps, even when the app is closed. This makes push notifications significantly more effective than email marketing.

Push notifications can be segmented by audiences, user groups, locations, individual messages per app actions, and more.

This is a great guide created by W3i:

Adding push notifications to your app: Build or buy?

One of the most useful features for iOS users is the ability to have relevant content delivered right to the device.  Push notifications allow you to send messages directly to people who have installed your app (whether the app is running or not).  Sending push notifications is a great way to engage your users and provide value.

If you’re an app developer thinking about adding push notifications (and you should be!), you may have a build vs. buy decision to make.  Is it better to purchase push notification services from a 3rd party provider or does it make more sense to build them in house?  There is a great deal to consider when making this decision and no single answer for everyone but let’s take a look at some things you should consider.

The Basic Push Notification Architecture

There are three basic parts to push notifications: client registration, push notification provider, and the notification service itself.

Client Registration and Tracking

The process for sending push notifications starts with some code in your app that registers the device with the notification service and acquires a unique ID for your app on a given device called a device token.  The device token is used to identify the target for your notifications.  It is the responsibility of the developer to store and manage the device tokens.

 Push Notification Provider

The push notification provider is a server process created by the app developer to compose the notification package.  The notification package includes the device token for a client application and the payload message. The provider server sends the notification to the Apple Push Notification Service which in turn pushes the notification to the device.

Apple Push Notification Service (APNS)

The Apple Push Notification Service sends the payload message to devices. If a notification for an app arrives when that app is not running, the device alerts the user that the application has data waiting for it.

Feedback Service

The Feedback Service is another service provided by Apple.  You’ll need to write the software to call the feedback service and get a list of device tokens for devices that no longer respond to your push notifications.  In other words, if your app is uninstalled from a device, it will no longer respond to your push notifications and Apple gives you the device token for this device.  Apple requires that developers check the feedback service periodically to keep Apple Push Notification Service from having to process undeliverable notifications.

Building the Push Notification Provider and Feedback Service

If you are planning on implementing push notifications in your app in house, you will need to develop the Push Notification Provider to call APNS as well as build the software to call the feedback service.  Apple’s developer site provides detailed specifications for calling this service as well as the specs for constructing the notification payload.  It’s a fairly complicated process but fortunately there are several resources available to developers to ease the development burden.

Open Source Libraries for APNS

There are a couple of popular open source projects that may save you time and headaches implementing APNS on your server.  One of these is built with PHP whereas the other is built with Microsoft .Net (C-Sharp).  Both are solid and fairly well maintained and documented so you may want to pick one of these based on your development skill set and deployment strategy.

For a PHP platform there is APNS-PHP (http://code.google.com/p/apns-php/).  APNS-PHP is a full set of open source PHP classes to interact with APNS.

For a Microsoft based platform there is APNS-Sharp (https://github.com/Redth/APNS-Sharp).  APNS-Sharp is a free, open source, independent and mono compatible C#/.NET Library for interacting with APNS.

Push Notification Service Providers

Until recently, your only option for sending push notifications to APNS was to build it yourself.  Today there are a few companies that, for a fee, make implementing push notifications much easier.

Urban Airship Push Notifications (http://urbanairship.com/) and Xtify Push (http://www.xtify.com/) provide hosted services for sending notifications, device token management, tools for constructing your payload, and more.  Both companies provide a developer SDK for implementing push notifications.  In addition to iOS Push notifications, both of these services can target Android and RIM as well.

Pricing varies by volume of messages sent so it’s a good idea to have an idea of how many messages you plan to send now and in the future.   All in all, pricing is very competitive.

If you’re looking to get push notifications out quickly and avoid the development effort of implementing a push notification provider yourself, be sure to check out these companies.  If you have any additional insight on push notifications, please add it in the comments.

Tags: , , , , , ,

About papajuega

Papá de Francisco, escribo sobre Juegos para papás e hijos, juguetes para bebés, cuentos para leer en familia, apps educativas, consejos para papás y mamás, lecciones aprendidas y guías!!

Leave us a comment!