Under the Bridge

APNS Update

So we’re just about to the point in That Big Project that’s been chugging along here where the server’s message delivery system moves over to an APNS basis, which will no doubt be very interesting indeed. So we’ve been looking around for some help with that.

The scale and immediacy of messaging envisioned makes reliance on third-party services potentially problematic for this project, so those are out. (Although as an aside, in the iLime vs. Urban Airship competition for your third party APNS needs, last fall we did an exploratory APNS-based project and picked iLime because it looked simpler at first glance and fit in with our Google App Engine prototype nicely, and had no complaints about how that worked out.)

So, since the last time we noticed an APNS roundup, anything new out there on the roll-your-own side of the things? Why yes, yes there is indeed. Here’s some more resources that look interesting:

Programming Apple Push Notification Services

A comprehensive walkthrough of how to implement the client side and “test” with an OS X-hosted faux server.

Easy APNS

Open source PHP/MySQL application, looks very comprehensively documented indeed.

ApnsPHP: Apple Push Notification & Feedback Provider

Another PHP application.

pyapns — An APNS provider for your app

XML-RPC based with Python and Ruby native APIs.

java-apns

Java? People still use that? Well, if that’s you, check this out.

[UPDATE: When we did our server, the pem/passphrase problem was the biggest hurdle: this post lays out nicely how to sort that!]

And hey, if any of you out there have anything good or bad to say about these various bits and pieces out there for the DIY APNS service writer, or if there’s anything of potential note we’ve overlooked thus far, please share!

4
  • Pingback: APNS certificate updating at Under The Bridge

  • Brandon

    In hindsight, would you say that a two tier approach worked out? Specifically i’m considering the app engine / apns provider, either on my own server or as a service like urban airship. So, having taken the above approach already would you consider rewriting the server to be a single instance that supports both your application and apns socket connection or keep it split up?

  • http://www.alexcurylo.com/ Alex

    If you’re doing a quick prototype for a new client than a free iLime account with GAE works out well. If you’ve got large scale production APNS needs, then I’d probably come down on the side of setting up your own APNS server, it’s really not that hard. Although I seem to recall that GAE in particular didn’t let you install your own certs, so you had to rely on something else to communicate with Apple. In the implement our own project, the server dude was writing his side in PHP from scratch, so certs weren’t a problem.

  • Pingback: APNS: MonoPush at Under The Bridge