我是php和GCM的新手。我正在使用以下代码使用php和mysqldb发送gcm消息,因为我正在获得成功通知但是android指南声明gcm消息应该每批1000发送,所以我正在寻找解决方案,所以我可以发送块的通知所以所有用户都将收到通知。我在一些类似的问题上看到了一些答案,但对于初学者来说似乎没有人详细说明。
我的问题是,我将如何能够一次发送超过1000个用户的GCM消息,因为我的方案中有超过20,000个用户。我将如何制作1000
以下是代码
<?php
include_once 'db_functions.php';
$db = new DB_Functions();
$appId= $_POST["appIdSelect"];
if($appId==0)
{
echo "App not selected, Please choose app first!!";
return;
}
$users = $db->getAllDevicesByAppId($appId);
$message = $_POST["message"];
$message = array("alert" => $message);
$i=0;
while ($row = mysql_fetch_array($users)) {
$regId = $row["device_id"];
//$regId."<br/>";
include_once './GCM.php';
$gcm = new GCM();
$registatoin_ids = array($regId);
$result = $gcm->send_notification($registatoin_ids, $message);
$result;
$i++;
}
echo "Notification send to APP ID= ".$appId." successfully. Total notification sends = ".$i;
?>
答案 0 :(得分:0)
1000限制适用于使用registration_ids
参数时。
对于您的方案,建议您使用Topic Messaging。根据您的用户所在的平台,您只需让他们订阅您的主题,并且只要您向该主题发送消息,所有订阅者都将收到该消息。
尽管如此,您是否有理由不使用Firebase Cloud Messaging(FCM)的新版GCM?