如何发送GCM消息更多然后一次1000个用户

时间:2017-04-08 15:18:08

标签: google-cloud-messaging

我是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;
?>

1 个答案:

答案 0 :(得分:0)

1000限制适用于使用registration_ids参数时。

对于您的方案,建议您使用Topic Messaging。根据您的用户所在的平台,您只需让他们订阅您的主题,并且只要您向该主题发送消息,所有订阅者都将收到该消息。

尽管如此,您是否有理由不使用Firebase Cloud Messaging(FCM)的新版GCM?