If you want to build a chat application using XMPP, you probably do not need GCM, since a server implementing XMPP would be sufficient for your needs (an XMPP server simply pushes messages, so why use GCM here?).
I have used Openfire as XMPP server and Smack for XMPP client to make a basic chat application. But you can find other open source (or paid) XMPP server implementations from this link
And yes, there are not much simple tutorials about that, but you can still find a lot of sample code and work your way around them.
May it be easy.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…