Intereting Posts

Как отправить уведомления о загрузке FCM на несколько тем

Я использую php-сервер для отправки push-уведомлений FCM. Я хочу знать, как я могу отправлять push-уведомления по нескольким темам одновременно.

Вот мой код.

function sendPush($topic,$msg){ $API_ACCESS_KEY = '...'; $msg = array ( 'msg' => $msg ); $fields = array('to' => '/topics/' . $topic, 'priority' => 'high', 'data' => $msg); $headers = array ( 'Authorization: key=' . $API_ACCESS_KEY, 'Content-Type: application/json' ); $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, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); $pushResult = curl_exec($ch); curl_close($ch); } 

Вы используете ключ condition для отправки на несколько тем.

Например:

 { "condition": "'dogs' in topics || 'cats' in topics", "priority" : "high", "notification" : { "body" : "This is a Firebase Cloud Messaging Topic Message!", "title" : "FCM Message", } } 

Это отправит сообщение устройствам, подписанным на темы «собаки» или «кошки».

Соответствующая цитата из документов FCM :

Чтобы отправить комбинации нескольких тем, сервер приложений устанавливает ключ условия в логическое условие, определяющее целевые темы.

Обратите внимание, что вы ограничены двумя логическими условиями, что означает, что вы можете отправить одно сообщение максимум на 3 темы.