Я должен отправлять Push-уведомления с различными сообщениями для большого количества устройств (более 10 тыс. Устройств в день). Но иногда он не получает все устройства. Я настроил функцию pushNotificationToUsers($heading,$message,$registraionids)
чтобы отправить push-уведомление, и я не уверен, что мой метод верен, если я ошибаюсь, исправьте меня.
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 на моем сервере
Для 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 изменилось до 2 КБ!
https://forums.aws.amazon.com/ann.jspa?annID=2626
Также смотрите ниже материалы
После того, как Google заменил C2DM на GCM, они сняли все ограничения.
http://developer.android.com/google/gcm/c2dm.html#history
Единственные ограничения, которые вы запускаете в документации GCM, это:
http://developer.android.com/google/gcm/adv.html#lifetime
Я думаю, что этот ответ достаточно ясен для вашего вопроса.
Других решений пока нет …