android 消息推送 不用第三方

android 消息推送不用第三方,客户端这边怎么实现,采用什么方式最合理?

消息推送大体分为socket协议和XMPP协议,或者还有个轮询(开启后台服务,不断从服务器扯拉数据。个人看来,这是伪推送)