如何从gcm服务器响应更新数据库表

时间:2016-05-23 12:05:26

标签: google-cloud-messaging push

我的应用正在成功发送推送。以下是详细信息。我正在为设备令牌ID和状态字段维护一个数据库表。 现在寻找失败id来设置表中的状态0。所以下次我只能获取状态1 ID。

请帮助我如何阅读以下信息以用于上述目的。

{
  "multicast_id": 9000754561212282225,
  "success": 625,
  "failure": 375,
  "canonical_ids": 0,
  "results": [
    {
      "error": "NotRegistered"
    },
    {
      "message_id": "0:1463996561713000%2b8e613cf9fd7ecd"
    },
    {
      "message_id": "0:1463996561711827%2b8e613cf9fd7ecd"
    },
    {
      "message_id": "0:1463996561712955%2b8e613cf9fd7ecd"
    },
    {
      "message_id": "0:1463996561713911%2b8e613cf9fd7ecd"
    },
    {
      "error": "NotRegistered"
    },
........
    {
      "message_id": "0:1463996561713114%2b8e613cf9fd7ecd"
    },  
   {
      "message_id": "0:1463996561889865%2b8e613cf9fd7ecd"
    }
  ]
}

1 个答案:

答案 0 :(得分:1)

来自documentation的结果是:

  

表示已处理消息状态的对象数组。   对象以与请求相同的顺序列出(即,用于   请求中的每个注册ID,其结果都列在同一个中   响应中的索引)。

因此,每个不是message_id的项目都代表一条失败的消息,因此不应使用相应的令牌,在您的情况下标记为0.