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的新手,并从一些示例应用程序复制了上述代码。
请帮我知道我是否做得对。否则,请指导我这样做的正确方法。
请帮忙!
在此先感谢。
第一得到所有的注册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只有一个推送通知
我会尽快给你试一试并更新 – AabidMulani 2015-01-06 08:14:09
@username_AB是否有效? – Jamil 2015-01-07 11:33:28
这个作品完美!谢谢你 – AabidMulani 2015-01-07 16:47:31
电话,如果你想发送相同的消息,您可以使用'registration_ids'(您想要发送消息的所有ID)和一条消息,这样,您可以在1个呼叫中发送多条消息。否则,您可能必须逐个为每个收件人发送邮件。 – Yazan 2015-01-04 12:20:51
@Yazan你可以请为此提供一些代码,即时通讯新的php – AabidMulani 2015-01-04 13:39:09
检查此问题和所选答案http://stackoverflow.com/questions/25859898/sending-push-notifications-to-multiple-android-devices-使用-gcm – Yazan 2015-01-04 15:06:31