从XMPP服务器发送到FCM服务器时,无法在设备上获取消息

时间:2016-10-12 07:30:06

标签: firebase xmpp firebase-cloud-messaging

我可以将消息从FCM控制台发送到我的Android应用。但是,当我从XMPP服务器向FCM服务器发送消息(以我的设备为目标)时,不会收到消息。我与FCM的XMPP(我的应用服务器)连接已连接并经过身份验证。

以下是我发送的最后一节:

<message id='TdQnz-6'>

<gcm xmlns="google:mobile:data">
{
    "to":"eXPDcHdXhF4:APA91bGo .... ",

    "notification":{

        "body":"great match!",
        "title":"Portugal vs. Denmark",
        "icon":"myicon"
    }
}
</gcm>
</message>

1 个答案:

答案 0 :(得分:0)

不要将消息ID添加到XMPP,这不会起作用!把它放到“数据”!!您可以使用“数据”并在必要时添加您自己的消息ID! FCM服务器为您生成内部消息ID!

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "from":"REGID",
      "message_id":"m-1366082849205"
      "message_type":"ack"
  }
  </gcm>
</message>

那部分也不会起作用!

<message>
 <gcm xmlns="google:mobile:data">
 {
   "message_type":"nack",
   "message_id":"msgId1",
   "from":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "error":"INVALID_JSON",
   "error_description":"InvalidJson: JSON_TYPE_ERROR : Field \"time_to_live\" must be a JSON java.lang.Number: abc"
 }
 </gcm>
</message>

将其丢弃并尝试发送...检查服务器的回复

应该是那样的

{{1}}

如果出现错误,您将获得类似的内容

{{1}}