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; } ?>