I am looking to write an app that receives pushed alerts from a server. I found a couple of methods to do this.
You can use Google Cloud Messaging or GCM, it's free and easy to use. Also you can use third party push servers like PushWoosh which gives you more flexibility
There's a lot a third party servers like Urban Airship, Xtify, Mainline, ... whiches allow send not only on Android, but also on iOs, Windows Phone ...
My understanding/experience with Android push notification are:
C2DM GCM - If your target android platform is 2.2+, then go for it. Just one catch, device users have to be always logged with a Google Account to get the messages.
MQTT - Pub/Sub based approach, needs an active connection from device, may drain battery if not implemented sensibly.
Deacon - May not be good in a long run due to limited community support.
Edit: Added on November 25, 2013
GCM - Google says...
For pre-3.0 devices, this requires users to set up their Google account on their mobile devices. A Google account is not a requirement on devices running Android 4.0.4 or higher.*
I recommend using GCM - Google Cloud Messaging for Android It's free, and for simple uses it's should be very easy.
However it requires to maintain a 3rd side server to send the notifications on your behalf. If you want to avoid that there are some very good industrial solutions for Android push notifications service:
Diclaimer - I work in PushApps and also use their product in my applications for over a year now.
Android Cloud to Device Messaging Framework
Important: C2DM has been officially deprecated as of June 26, 2012. This means that C2DM has stopped accepting new users and quota requests. No new features will be added to C2DM. However, apps using C2DM will continue to work. Existing C2DM developers are encouraged to migrate to the new version of C2DM, called Google Cloud Messaging for Android (GCM). See the C2DM-to-GCM Migration document for more information. Developers must use GCM for new development.
Kindly check the following link:
http://developer.android.com/guide/google/gcm/index.html
Free and easy method:
If your target user base is not large(less than a 1000) and you want a free service to start with, then Airbop is the best and most convenient.
Airbop Website It uses Google Cloud Messaging service through its API and is provides a good performance. i have used it for two of my projects and it was easy implementing it.
Services like and Urbanship are excellent but provide an entire deployment stack and not just the push notifications thing.
If only push service is your target, Airbop will work fine.
I haven't used Pushwoosh, but is also a great choice. It allows push to 1,000,000 devices for free