20

I'm working on the Android version of an application I first created on iPhone and this application requires to send (if it's as successful as its iPhone version) up to millions of push notifications to users daily.

I naively thought the Android platform had a push notifications service as its sibling so I decided to look at this feature at the end of development and now here i am!

I searched stackoverflow for answers about this feature (issue ?) and found several options (thanks guys!) BUT did any of you guys was able to achieve such a feature with such a volume?

Here's the options I found :

  • Google's C2DM Framework : my first issue is that it's for Android 2.2 + only but I may consider it if there wasn't this 200.000 notifications a day quota; did any of you guys requested more quota from Google ?
  • MQTT : this solution looks good and the sample code provided by Anton Lopyrev is helpful (and Dale Lane blog posts are a good read); this is the option I'm using right now but I have no idea about how it may react with thousand of users (I also have trouble with the server (mosquitto) OR the service (I don't know yet) and I am not able to receive notifications sometimes with 2 users :p)
  • XMPP : it looks like the best option (yet ?) but I haven't tried it yet; did any of you guys use this solution ?

I've read about Xtify or Urban Airship but none of these commercial solutions may help (volume or cost).

Thanks for any tips!

Edit : my goal is to be able to send up to 5,000,000 notifications a day

Community
  • 1
  • 1
Vivi
  • 932
  • 14
  • 30
  • Too bad I can't start a bounty yet :P I will start a bounty as soon as I can to give a reward for useful tips. – Vivi Aug 03 '11 at 14:00
  • Maybe you should tell us how many notifications per user and day are needed on a average. Anyway C2DM would be my first choice because it's android native and most android devices run on >= 2.2. – Flow Aug 03 '11 at 15:49
  • Can you not request additional quotas? – Vino Aug 03 '11 at 18:02
  • I asked Google but no answer yet :/ I hope I'll be able to get additional quota but I want to be prepared if I can't – Vivi Aug 03 '11 at 18:30
  • Also, how many users do you expect? E.g. active users per day... – Peter Lillevold Aug 03 '11 at 19:19
  • i hope this link help u http://stackoverflow.com/questions/3338887/how-to-attach-two-or-more-files-to-send-action-on-android – Akash Singh Feb 01 '12 at 12:46

5 Answers5

18

200K is the development quota, we'll be happy to grant you more if you need it. Android 2.2+ represents >80% of Android devices in the field today. We typically turn these requests around pretty quickly.

http://developer.android.com/resources/dashboard/platform-versions.html

cyngus
  • 1,723
  • 13
  • 14
2

All I would mention is that XMPP can be pretty verbose, you might want to look at MQTT if you want to keep your network usage low as it is very efficient.

Andy Piper
  • 8,529
  • 2
  • 21
  • 40
1

If you are trying to send many million notification or presence packets, SoapBox Server 2012 is capable of sending over 100k message per second on a single server as well as concurrently connect more than 250k users.

Our 8th generation platform has been designed for non instant messaging use cases, such as Remote Device Monitoring (RDM), Cloud Message Bus, Software Defined Networking (SDN).

You can download a free trial of our XMPP Server and XMPP SDK at our website.

Chathuranga Chandrasekara
  • 19,150
  • 28
  • 95
  • 135
Corey Pham
  • 11
  • 1
0

Base on my investigation, if you want to use C2DM,the google framework must be installed in your android device. If you have google play, that implies google framework is installed.

Neo
  • 123
  • 1
  • 9
0

Update: according their blog post Notifo Will Be shutting Down. But that blog post is already more than a year ago and I believe they are still up and running


Also I would like to point you out to notifo which is pretty cool. I don't know about if they have a quota at all, but I guess you should sent them a message, which generally gets responded within a day.

Alfred
  • 56,245
  • 27
  • 137
  • 181