我正在使用PHP向用户发送GCM通知。基于他们的令牌保存在服务器上的SQL中。但我一次只能发送1000个通知,
这是我的工作代码,现在我需要编辑它来循环该过程,并分段发送5000通知,1000比1000等。
这是我的PHP代码,以及我没有在这里发布的简单HTML,
- name: private route table
ec2_vpc_route_table:
vpc_id: "{{ vpc_a_id }}"
region: "{{ ec2_region }}"
tags:
Name: private
subnets:
- "{{ private_subnet_a.id }}"
- "{{ private_subnet_b.id }}"
- "{{ private_subnet_c.id }}"
routes:
- dest: 0.0.0.0/0
gateway_id: "{{ nat_instance }}"
- dest: "{{ vpc_b_cidr }}"
gateway_id: "{{ vpc_a_to_b_pcx_id }}"
register: private_route_table
答案 0 :(得分:0)
不是通过registrationId发送通知,而是为什么不按主题使用发送通知。您只需要让客户订阅某个主题。
在GCM中,您可以使用以下代码发送通知主题:function send_notification_topic($topicname, $message){
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'to' => '/topics/' . $topicname,
'data' => $message
);
$headers = array(
'Authorization: key=AIzablablablayourServerKey',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if($result === FALSE){
die('Curl failed : ' . curl_error($ch));
}
curl_close($ch);
return $result;
}
答案 1 :(得分:0)
使用此代码分割您的代币。
getAvailableLocales()
对于除法GCM可能会推迟通知。它需要2-10分钟。