我必须为大量设备发送带有不同消息的推送通知(每天超过10k设备)。但有时它不接收所有设备。我设置了一个函数pushNotificationToUsers($heading,$message,$registraionids)
来发送推送通知,我不确定我的方法是否正确,如果我错了请纠正我。
function pushNotificationToUsers($heading,$message,$registraionids){
//array of registration ids in $registraionids
$key="xxxxxxxxxxx";
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' =>,$registraionids,
'data' => array( "message" => $message,"title"=>$heading,"soundname"=>"beep.wav" ),
);
$headers = array(
'Authorization: key=' . $key,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
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_POSTFIELDS, json_encode( $fields ) );
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
}
我在服务器端使用php
答案 0 :(得分:1)
对于Android,
GCM中的邮件大小限制为4千字节。
https://developer.android.com/google/gcm/server.html#params
C2DM中的消息大小限制为1024字节。 (已弃用)
https://developers.google.com/android/c2dm/#limitations
对于iOS,
iOS中的大小限制为256字节,但自iOS 8的引入已经改为2kb!
https://forums.aws.amazon.com/ann.jspa?annID=2626
另外,请参阅以下内容
谷歌用GCM取代C2DM后,他们取消了所有限制。
http://developer.android.com/google/gcm/c2dm.html#history
您在GCM文档中遇到的唯一限制是:
http://developer.android.com/google/gcm/adv.html#lifetime
我认为这个答案足以清楚你的问题。