首先,我检查数据库表以查找不同用户发布的未发送消息。如果可用,则执行以下代码并每隔5分钟使用cron作业运行它。
SELECT * FROM `jkeio_community_gcmusers`; //contain all gcm users
$i=0;
while($data_apps=mysql_fetch_array($data_app))
{
$message1=$i.'You have a new item in Akhbar';
sendnotificationandroid($data_apps['gcm_regid'],$message1); //send function for sending push notification for android and it sends message via curl method
$i++;
}
发送消息后,我会将未发送标志设置为使用更新查询发送
关于100或200个用户,所有事情都可以,但是当用户增加时,消息按时交付 你能告诉我如何实现这个目标
先谢谢 Anand Neema
答案 0 :(得分:1)
GCM允许我们一次向最多1000个设备发送通知,因此我建议重构您的方法sendnotificationandroid
以接受一系列gcm注册ID。
sendnotificationandroid
方法,该方法将构建通知有效负载,如下所示:
{
"registration_ids" : ["regId1", "regId2", "regId3", ....., "regId1000"],
"data" : {
...
},
}
因此,对于80K用户,您需要大约80个循环来发送通知,正如Alma Do Mundo建议的那样,最好使用curl_multi_exec将请求发送到GCM服务器。