Как эффективно отправлять push-уведомления Firebase 200 000 пользователей одновременно с помощью PHP? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как эффективно отправлять push-уведомления Firebase 200 000 пользователей одновременно с помощью PHP? [закрыто]

Сообщение Anonymous »

При базе пользователей в 200 000 человек и текущем сеансе возникает необходимость одновременно отправлять push-уведомления всем пользователям, чтобы информировать их о реальном сеансе на PHP. Однако push-уведомления Firebase могут быть отправлены только 1000 пользователям одновременно. В результате последний пользователь получает уведомление через 10 минут после запуска сеанса.
В свете этой проблемы какие шаги можно предпринять, чтобы устранить это ограничение и гарантировать, что все пользователи получат уведомление? быстрое уведомление?
Я использовал приведенный ниже код
function sendMsg($regIds, $data, $device_type=''){
$apiKey = "";
$fields = array(
'priority' => 'high',
'data' => array(
'title' => $this->data['title'],
"body" => $this->data['message'],
'sound' => 'default',
'message' => $this->data['message'],
'screen' => $this->data['screen'],
'screen_id' => $this->data['screen_id']
)
);
if($this->data['screen_data']) {
$fields['data']['screen_data'] = $this->data['screen_data'];
}
if($this->data['notification_id']) {
$fields['data']['notification_id'] = $this->data['notification_id'];
}

if(gettype($regIds) != 'array') {
$fields['to'] = $regIds;
}
if($device_type != 'android') {
$fields['notification'] = array(
'title' => $this->data['title'],
'body' => $this->data['message'],
'sound' => 'default'
);
}
if($fields) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: key='.$this->data['api_key'], 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... imultaneou
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»