Google Cloud Messaging:向“所有”用户发送消息
我正在学习本教程以了解GCM系统。 我对这部分有疑问:
可以向每个注册用户发送消息,但是如何更改该代码以便我可以向所有注册的设备发送单个消息?
我已经找到了答案:
使用GCM向多个Android设备发送推送通知
和
在多个设备上发送推送通知
(几乎相同的问题) – 但找不到解决我问题的答案。
getAllUsers(); if ($users != false) $no_of_users = mysql_num_rows($users); else $no_of_users = 0; ?> No of Devices Registered:
0) { ?> - <form id="" name="" method="post" onsubmit="return sendPushNotification('')"> <input type="hidden" name="regId" value=""/>
- No Users Registered Yet!
我试图改变代码,但随着我的改变它不起作用..
我想把所有regID作为数组放入sendPushNofiy …
getAllUsers(); if ($users != false) $no_of_users = mysql_num_rows($users); else $no_of_users = 0; ?> No of Devices Registered:
0) { ?> <?php - $rows = array(); while(($row = mysql_fetch_array($users))) { $rows[] = $row['id']; } <form id="" name="" method="post" onsubmit="return sendPushNotification('')"> <input type="hidden" name="regId" value=""/>
- No Users Registered Yet!
有了这个,我可以将所有regid放入数组行…但是如何将数组转移到表单中?
while ($row = mysql_fetch_array($users)) { $rows[] = $row["gcm_regid"]; }
我的问题是如何将我的数组“行”发送到send_message.php?
$ registatoin_ids = array($ regId); <<它确实已经处理数组,但我的输入只能用一个值,我想传输数组^^
编辑:send_message.php
if (isset($_GET["regId"]) && isset($_GET["message"])) { $regId = $_GET["regId"]; $message = $_GET["message"]; include_once './GCM.php'; $gcm = new GCM(); $registatoin_ids = array($regId); $message = array("price" => $message); $result = $gcm->send_notification($registatoin_ids, $message); echo $result; } ?>
您有责任维护所有注册用户的注册ID列表。 没有API调用向所有注册用户发送消息。 您可以向GCM服务器发送最多1000个注册ID的请求。 如果您有超过1000个注册用户,则必须将它们拆分为多个请求。
getAllUsers(); $regIds = array(); if ($users != false){ while ($row = mysqli_fetch_array($users)) { $regIds[] = $row["gcm_regid"]; } } include_once './GCM.php'; $gcm = new GCM(); $registatoin_ids = $regIds; $message = "array("price" => $_GET["message"])"; $result = $gcm->send_notification($registatoin_ids, $message); echo $result; } ?>