GCM和Smack API

时间:2013-05-25 12:21:22

标签: java android xmpp smack google-cloud-messaging

我尝试使用Smack API连接到GCM的Cloud Connection Server。我的代码:

ConnectionConfiguration config = new ConnectionConfiguration("gcm.googleapis.com","5235");
        config.setCompressionEnabled(true);
        config.setSASLAuthenticationEnabled(true);
        config.setSocketFactory(SocketFactory.getDefault());
        Connection conn = new XMPPConnection(config);
        conn.connect();
        conn.login(Config.GCM_SENDER_ID, Config.GCM_API_KEY);

但是我遇到了连接失败错误和XMPPException错误。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

根据CCS documentation

  

CCS需要传输层安全性(TLS)连接。这意味着XMPP客户端必须启动TLS连接。例如在smack中,你会调用setSocketFactory(SSLSocketFactory),类似于“旧式SSL”XMPP连接和https。

因此,请在代码中使用以下内容:

config.setSocketFactory(SSLSocketFactory.getDefault())