• Почему Firebase Cloud Messaging отправляет через какой-то интервал?

    @dsdfsdf Автор вопроса
    Вот из-за чего уведомления дублировались
    messaging.onMessage(function (payload) {
                console.log(payload);
                const notificationOption={
                    body:payload.notification.body,
                    icon:payload.notification.icon
                };
                if(Notification.permission === "granted"){ 
                    var notification = new Notification(payload.notification.title,notificationOption);
                    notification.onclick=function (ev) {
                        ev.preventDefault();
                        window.open(payload.notification.click_action,'_blank');
                        notification.close();
                    }
                }
            });

    Но без этого куска не работает отправка вообще
    И вопрос с опозданием уведомлений с firebase не решен
    Ответ написан
    Комментировать
  • Как отправлять Firebase Cloud Messaging когда backend на php?

    @dsdfsdf
    Пример:
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, htmlspecialchars_decode('https://fcm.googleapis.com/fcm/send'));
    curl_setopt($ch, CURLOPT_POST, true);
    $headers = [
    	'Authorization: key=' . API_ACCESS_KEY,
    	'Content-Type: application/json'
    ];
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 2);
    
    $fields = [
    	'to' => 'userAgentToken',
    	'notification' => [
    	'body' => 'Some body text',
    	'title' => 'Some title text'
    ]];
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    curl_exec($ch);
    
    curl_close($ch);
    Ответ написан
    Комментировать