2017-04-08 8 views
0

私はphpとGCMを初めて利用しています。私は次のコードを使用して、gcmメッセージをphpとmysqldbを使って送信していますが、通知が正常に届いていますが、gcmメッセージは1000個のバッチで送信する必要がありますので、すべてのユーザーが通知を受け取ります。私はいくつかの同様の質問でいくつかの答えを見ているが、誰も初心者のための多くの詳細されるようだ。GCMメッセージを送信する方法一度に1000人のユーザー

私のシナリオでは、20,000人以上のユーザーがいるため、GCMメッセージを一度に1000人以上送信することができます。私は

千を作ることができるようになりますどのように以下registration_idsパラメータを使用するときのため

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

1000年限度があるコードです。

ご使用のシナリオでは、Topic Messagingを使用することをお勧めします。ユーザーのプラットフォームに応じて、トピックを購読するだけで、そのトピックにメッセージを送信するとすぐに、すべての購読者がそのメッセージを受信します。

これまで述べてきたように、新しいバージョンのGCMであるFirebase Cloud Messaging(FCM)を使用していない理由はありますか?

+0

将来的には私のクライアントはFCMに移行するよう依頼しますが、現在はGCMでやりたいと考えています。 –