Равиль, сразу извиняюсь, готов понести наказание, но запощу решение.
Как уже говорил все просто, если у вас 4345 сообщений, то делим массив токенов и отправляем 4 раза по 1000, и один раз 345. Не забывайте что вы программисты, и во всех языках программирования это делается одинаково просто. Вот код, писал прямо в гитхабе, естественно не проверял, если что то упустил, прошу прощения (а упустил я анализ результата).
function pushSendOver1000($title, $text, $tokens, $server_key) {
$Count_Success = 0;
$DeviceCountMax = 1000;
$DeviceCountIndex = 0;
$DevicesTokenPacketArray = array();
while ($DeviceCountIndex<=count($tokens)) {
$DevicesTokenPacketArray = array_slice($tokens, $DeviceCountIndex, $DeviceCountMax);
pushSend($title, $text, $DevicesTokenPacketArray, $server_key);
$DeviceCountIndex = $DeviceCountIndex + $DeviceCountMax;
}
}
Запостил также на гитхаб. Можете ручками добавить функцию в конец https://github.com/rzaripov1990/PUSHTestFCM/blob/master/pushTest/push.php и соответственно вызывать не pushSend, а pushSendOver1000