我们可以通过Android GCM向所有注册用户发送消息吗?

问题描述:

我正在使用android GCM向所有注册用户发送推送通知,但我无法一次性向所有注册用户发送消息,而是必须为每个用户分别写入消息。因此,可以在这种情况下替换此消息单击消息发送到存储在数据库中的所有用户的方式??我正在使用PHP脚本(服务器端)。我们可以通过Android GCM向所有注册用户发送消息吗?

您可以将消息发送给您的所有用户,但是您无法一次将其广播给所有用户。相反,您必须以最多1000个注册ID组的形式发送消息,并使用JSON请求格式。

的更多信息可在这里找到:http://developer.android.com/google/gcm/gcm.html#request

具体来说:

registration_ids - 一个字符串数组,与接收到该消息的设备 (注册ID)的列表。它必须包含至少1 和最多1000个注册ID。要发送多播消息,您必须使用JSON。为了将单条消息发送到单个设备,您可以使用仅有1个注册ID的JSON对象或纯文本 (请参见下文)。需要。

这里是他们例如,将数据发送到六个虚构注册ID:

{ "data": { 
    "score": "5x1", 
    "time": "15:10" 
    }, 
    "registration_ids": ["4", "8", "15", "16", "23", "42"] 
} 
+0

感谢名单Selsine。我试过这个,它的工作原理,但在上面的代码中,你手动输入了注册ID,但我希望这是动态完成的。我想将n个可能少于1000个的ID传递给“registration_ids”。所以你能帮助我吗?我正在使用PHP。 – 2013-03-07 05:06:42

+0

您只需循环注册您的注册ID数据库,将它们添加到最多N个数组,然后将它们写入您的JSON请求。 – selsine 2013-03-07 15:34:17

+0

它的工作。你只需要传递注册ID数组。 – 2013-03-08 05:23:53