Android GCM向乘法设备发送消息

Android GCM向乘法设备发送消息,android,google-app-engine,google-cloud-messaging,Android,Google App Engine,Google Cloud Messaging,作为使用GCM接口的一部分,您的服务器需要使用此格式,以便向GCM服务器发送消息,该消息将把数据传递给设备: headers = { 'Content-Type' : 'application/json', 'Authorization': 'key=' + GCM_KEY } values = { 'registration_ids': [regId], 'data': {'msg': 'helo'} } 其中:GCM_KEY是我的服务器密钥,regId是由“,”分隔的注册ID字符串 假设用

作为使用GCM接口的一部分,您的服务器需要使用此格式,以便向GCM服务器发送消息,该消息将把数据传递给设备:

headers = { 'Content-Type' : 'application/json', 'Authorization': 'key=' + GCM_KEY }
values = { 'registration_ids': [regId], 'data': {'msg': 'helo'} }
其中:GCM_KEY是我的服务器密钥,regId是由“,”分隔的注册ID字符串

假设用户A的注册ID为1,用户B的注册ID为2

当我尝试只向一个设备(例如用户a)发送消息时,regId等于字符串“1”,消息正确传递。当我尝试仅将消息传递给用户2时,也会发生同样的情况

但是当我尝试将消息发送到这两个设备时,regId='1,2',消息就不会通过GCM文档,成功是指响应包含0个失败和0个规范ID,因此我得到了与成功响应不同的结果


有什么问题吗?

整个负载是JSON,因此regId数组需要是JSON数组。使用[1,2]代替“1,2”。

但我将regId放在括号[regId]中已有的值中。。。所以应该像你说的那样。如果我错了,你能告诉我正确的方法吗?regId是字符串或字符串数组。如果将regId作为[1,2]发送,则这是一个数字数组。仔细检查要发送给GCM的内容,并在上验证JSON。