【问题标题】:Does GCM Cloud Connection Server (CCS) store messagesGCM 云连接服务器 (CCS) 是否存储消息
【发布时间】:2013-05-27 02:22:23
【问题描述】:

当设备想要通过 CCS 向 3rd 方服务器发送消息时,如果 CSS 无法将消息传递到服务器,它会像 Google Cloud Messaging 那样存储消息,还是通知设备它无法发送,设备上的应用负责稍后重新发送?

另外,如果 CCS 确实连接到第 3 方服务器但发送消息时出现问题,它会通知客户端应用程序错误吗?

【问题讨论】:

    标签: android push-notification google-cloud-messaging


    【解决方案1】:

    基于API of the GoogleCloudMessaging class,消息存储在GCM 服务器中,就像云到设备消息一样,取决于指定的timeToLive

    仅当指定的timeToLive为0时,CCS才会在发送消息出现问题时返回错误。

    public void send(String to、String msgId、long timeToLive、Bundle data)

    发送“设备到云端”消息。 GCM 开发指南中记录了最大存储时间的当前限制和每个应用程序的未处理消息数。

    参数

    to 字符串,用于标识消息的接收者。对于 GCM 项目 ID,该值为 SENDER_ID@gcm.googleapis.com。 SENDER_ID 应该是 register() 中使用的发送者 ID 之一。

    msgId 消息的 ID。这是由应用程序生成的。对于每条消息,它必须是唯一的。这允许错误回调和调试。

    timeToLive如果为 0,我们将尝试立即发送并如果我们未连接则返回错误否则,消息将被排队。至于服务器端消息,如果消息因为 TTL 而被丢弃,我们不会返回错误——这可能发生在服务器端,并且需要额外的通信。

    data 要发送的键/值对。值必须是字符串,任何其他类型都将被忽略。

    投掷

    IO异常

    public void send (String to, String msgId, Bundle data)

    发送“设备到云端”消息。 如果我们在最大间隔内没有活动连接,则消息将排队

    参数

    to 字符串,用于标识消息的接收者。对于 GCM 项目 ID,该值为 SENDER_ID@gcm.googleapis.com。 SENDER_ID 应该是 register() 中使用的发送者 ID 之一。

    msgId 消息的 ID。这是由应用程序生成的。对于每条消息,它必须是唯一的。这允许错误回调和调试。

    data 要发送的键/值对。值必须是字符串——任何其他类型都将被忽略。

    投掷

    IO异常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多