接收上行消息

FCM 从客户端应用收到上行消息调用时,会生成一个必要的 XMPP Stanza,以用于发送上行消息。FCM 会添加 categoryfrom 字段,然后向应用服务器发送一个类似以下格式的 Stanza:

<message id="">
  <gcm xmlns="google:mobile:data">
  {
      "category":"com.example.yourapp", // to know which app sent it
      "data":
      {
          "hello":"world",
      },
      "message_id":"m-123",
      "from":"REGID"
  }
  </gcm>
</message>

发送 ACK 消息

为响应上述上行消息,应用服务器必须使用同一连接发送一条包含该唯一消息 ID 的 ACK 消息。如果 FCM 未接收到 ACK 消息,可能会重新尝试向应用服务器发送消息。

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

如需详细了解上行消息语法,请参阅 XMPP 连接服务器参考文档