【问题标题】:Client(android application) acks for sent gcm messages客户端(android 应用程序)确认发送的 gcm 消息
【发布时间】:2014-02-28 03:52:14
【问题描述】:

android 应用程序是否可以通过 googleclougmessaging.send() 将已发送的 gcm 消息确认到 ccs 服务器?客户端如何确定消息是否传递到 ccs 服务器?

【问题讨论】:

    标签: android push-notification xmpp real-time google-cloud-messaging


    【解决方案1】:

    我在使用 Gcm Acks 时遇到了很多问题,所以你的解决方案是自己做,非常简单:

    1. 当 xmpp 收到任何消息时,您应该编写一个函数来向发送者(通过 GCM)发送您想要的任何数据的 ack。当发送方设备收到该 ack(让我们称之为(“fromxmppAck”)时,您可以将其作为所有内容的 ack 来处理。
    2. 当目标设备收到任何消息时,你应该编写一个函数向xmpp发送ack,告诉目标设备收到消息,(调用它:from_target_ack)
    3. 当服务器获得“from_target_ack”(它必须包含原始发件人的 ID)时,只需将消息传递给原始发件人...
    4. 在原始发件人中,您应该在知道消息已到达目标的情况下处理此 ack。

    这是我在强制 GCM Acks 出现问题时所做的,我只是忽略 gcm acks 并执行 1. 2. 3. 4. 并且一切正常

    【讨论】:

      【解决方案2】:

      根据我的经验,gcm 将 ack 发送回设备... ack 消息类型是“发送事件”,它包含:1.message id 2. event.. 事件失败描述了发送 msg 的结果.

      【讨论】:

      • 只有当消息发送发生任何错误时才会发生事件。 developer.android.com/reference/com/google/android/gms/gcm/…。没有可用的事件作为已发送的消息。如果发送没有错误,我们可以认为发送成功。
      • 你试过了吗? android的文档太糟糕了..我在我的应用程序中使用这种消息类型...gcm在收到你的消息时发回ack,你可以配置它来告诉第3方服务器目标设备是否收到消息。
      • 我在询问 android 应用程序在发送与 xmpp 客户端无关的消息时对它的确认?
      • 当您从设备向 GCM 发送消息时,GCM 会向您(设备)返回一个 Ack: message_type = send_event , event = sent , google.message_id = 35216806074292010:21:38
      • OK 亲爱的,我不想争论,但是尝试比书本更强大,他们(Android | google)开发了他们的服务,但他们不会以相同的频率更新文档.. 在您指向的页面有 3 种消息类型,但实际上您可以看到第 4 种消息((E/GCMBroadcastReceiver:message_type = send_event))
      【解决方案3】:

      根据云连接服务器文档,从设备向云端发送消息时唯一的确认是云连接服务器期望从您的服务器获得的确认。它只告诉 CCS 您的服务器收到了消息,但 CCS 不会将该确认传递给设备。

      这是 CCS 期望来自 3rd-party 应用程序的 ACK 格式 服务器响应上述消息:

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

      当然,您的服务器可以将消息发送回设备作为对从设备获得的消息的响应,并且该消息可以用作确认。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多