首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gloox XMPP库向Google Firebase发送推送通知

Gloox XMPP库向Google Firebase发送推送通知
EN

Stack Overflow用户
提问于 2017-08-04 14:50:17
回答 1查看 342关注 0票数 0

我试图将推送通知作为向导发送给安卓设备(https://firebase.google.com/docs/cloud-messaging/server#connecting),我使用Gloox库发送它,但是服务器从google响应一些不可读的数据(\x15\x3\x1),但无法解析:

代码语言:javascript
复制
log: level: 0, area: 8, This is gloox 1.0.20, connecting to fcm-xmpp.googleapis.com:5236...
log: level: 0, area: 32, Connecting to fcm-xmpp.googleapis.com (64.233.188.188:5236)
log: level: 0, area: 32, Connected to fcm-xmpp.googleapis.com (64.233.188.188:5236)
log: level: 0, area: 262144, <stream:stream to="gcm.googleapis.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
log: level: 2, area: 8, parse error (at pos 0): 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 16:36:01

我解决了这个问题,这是因为Firebase不支持"STARTTLS",但是GLOOX默认启用了“STARTTLS”(在TLS握手之前发送XML )。

我们应该使用下面的代码禁用"STARTTLS":

代码语言:javascript
复制
    JID jid("8566240108@gcm.googleapis.com");
    j = new Client(jid, "AAAAADMKj3w:APA9178fdsksW-0rDT0dTu1rMoO0N30J_KldYx9XsQ86fd3540bTIR9e54wDLpU0TWdPf8DnsBRZH-YEc5rtHuRMJRPE_92bcKkLNT42JQ-9fzLJW1yu34r89diWiBS6Rt6_56WzUUmJarc2WCDzz2Tj");    
    j->setServer("fcm-xmpp.googleapis.com");
    j->setConnectionImpl(new ConnectionTLS(j, new ConnectionTCPClient(j->logInstance(), "fcm-xmpp.googleapis.com", 5236), j->logInstance()));
    j->setPort( 5236 ); // For release will be 5235  // The TLS and SASL default is enabled
    j->setTls( TLSOptional );
    j->setSasl(true);
    j->registerConnectionListener(this);
    j->registerMessageSessionHandler(this, 0);
    j->disco()->setVersion("PortSIP PBX", "9.0");
    j->disco()->setIdentity("PushSender", "Sender");
    j->disco()->addFeature(XMLNS_CHAT_STATES);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45509816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档