I am looking to write an app that receives pushed alerts from a server. I found a couple of methods to do this.
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.*