GCM向多个设备发送消息

时间:2014-06-20 16:42:49

标签: android google-app-engine google-cloud-messaging

作为使用GCM接口的一部分,一个服务器需要使用此格式才能将msg发送到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个canonical_ids时,所以我得到的东西不同于成功的回应。)

任何想法有什么不对?

1 个答案:

答案 0 :(得分:0)

整个有效负载是JSON,因此regId数组必须是JSON数组。而不是'1,2'使用["1","2"]