I have been working on android for about 2 years and have a good understanding of the programming logic. I have also worked and used the basic functionality of GCM and XMPP, and I would prefer using GCM. I assure you of a satisfactory result. Please feel free to contact for any discussions.