iphoneobjective-ciosapple-push-notificationsurbanairship.com

Whats the point in UrbanAirship?


I'm looking into push notifications for an app I'm creating. I've heard lots about UrbanAirship but I can't seem to find a definitive reason why I should use it? As far as I understand it UA is a middle man? This page shows the free version doesn't have a push composer, so a developer will still need a server themselves to create the notification, if their own server is needed then I might as well go directly to APNS?

What is the point and advantage of UA? And if you use it how do you send notifications without your own server?


Solution

  • A working implementation of push notifications involves many things, such as:

    1. Keeping track of Device IDs (web service for the device to contact, database to store the IDs)
    2. Storing metadata associated with each Device ID (ie. so you can refer to a device by a username or a group of devices by a tag)
    3. Keeping track of which devices have been deactivated (which happens if the user turns of notifications)
    4. Clearing out bad Device IDs
    5. Actually forming the raw request to send the message to Apple's servers
    6. Some sort of service/program to know when you need to send the notifications

    Urban Airship takes care of 1-5 for you, which greatly simplifies the whole process. Yes, you if were just sending a message to one device, you could probably find a C# or python or Objective-C library to connect to Apple and form the message but as soon as you need to keep track of a large number of devices, Urban Airship provides a service for free (if under 1 million pushes a month) to take a lot of work off your shoulders.

    (And this is just for the basic push service for iPhone, as this is the only service I have used)

    To answer your other question, you do still need some 'server' or program to know when to push (#6). I, for example, monitor twitter with a python program for keywords and send out notifications when I see those. My program is not concerned with the details of how to send notifications, the Urban Airship library I use takes care of the interaction with Urban Airship and Apple.