PHP代码发送Android的推送通知到多个设备

PHP代码发送Android的推送通知到多个设备

问题描述:

下面是我做出的GCM服务器的卷曲呼吁PHP代码:PHP代码发送Android的推送通知到多个设备

//CODE TO SEND PUSH NOTIFICATION 
         define('API_ACCESS_KEY', 'XXXXXXXXXXXXXXXXXXXXX'); 
         $i = 0; 
         $result1 = mysql_query("SELECT * FROM `my_devices`") or die($log->lwrite("Error" . mysql_error())); 
         while ($row2 = mysql_fetch_array($result1)) { 
          $i = $i + 1; 
          $msg = array(
           'message' => $resultTextValue 
          ); 

          $fields = array(
           'registration_ids' => array($row2['gcmId']), 
           'data' => $msg 
          ); 

          $headers = array(
           'Authorization: key=' . API_ACCESS_KEY, 
           'Content-Type: application/json' 
          ); 

          $ch = curl_init(); 
          curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send'); 
          curl_setopt($ch, CURLOPT_POST, true); 
          curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
          curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 
          $result = curl_exec($ch); 
          curl_close($ch); 
         } 

我的代码是正在开发并已注册10设备的最大。因此,将通知发送到所有设备需要花费大量时间。

我担心的是:当应用程序部署时,我将有数千个设备发送推送通知。 不需要大量的推送通知电话的时间?

我是PHP的新手,并从一些示例应用程序复制了上述代码。

请帮我知道我是否做得对。否则,请指导我这样做的正确方法。

请帮忙!

在此先感谢。

+0

电话,如果你想发送相同的消息,您可以使用'registration_ids'(您想要发送消息的所有ID)和一条消息,这样,您可以在1个呼叫中发送多条消息。否则,您可能必须逐个为每个收件人发送邮件。 – Yazan 2015-01-04 12:20:51

+1

@Yazan你可以请为此提供一些代码,即时通讯新的php – AabidMulani 2015-01-04 13:39:09

+0

检查此问题和所选答案http://*.com/questions/25859898/sending-push-notifications-to-multiple-android-devices-使用-gcm – Yazan 2015-01-04 15:06:31

第一得到所有的注册ID到阵列

$regIDS = array(); // set variable as array 

    // get all ids in while loop and insert it into $regIDS array 
while ($row2 = mysql_fetch_array($result1)) { 
array_push($regIDS ,$row2['gcmId']) 
} 

然后在$领域,更不用说数组变量名称$ regIDS的代替阵列($ ROW2 [ 'gcmId']​​

$fields = array(
     'registration_ids' => $regIDS , 
     'data' => $msg 
); 

并且您现在可以通过单个推送通知消息将消息发送到多个设备。

http://php.net/manual/en/function.array-push.php

例如PIC =

这里我只有两个数据库regIDs所以在这里成功= 2只有一个推送通知

enter image description here

+0

我会尽快给你试一试并更新 – AabidMulani 2015-01-06 08:14:09

+0

@username_AB是否有效? – Jamil 2015-01-07 11:33:28

+0

这个作品完美!谢谢你 – AabidMulani 2015-01-07 16:47:31