Javascript 无法使firebase推送通知适用于web

Javascript 无法使firebase推送通知适用于web,javascript,php,firebase,Javascript,Php,Firebase,我正在尝试使用firebase为web设置推送通知。我能够成功发送通知,但我在客户端没有收到通知。我的配置: <script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-messaging.js"></script>

我正在尝试使用firebase为web设置推送通知。我能够成功发送通知,但我在客户端没有收到通知。我的配置:

 <script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-app.js"></script>

<script src="https://www.gstatic.com/firebasejs/7.3.0/firebase-messaging.js"></script>

<script>
if('serviceWorker' in navigator) {
        // Your web app's Firebase configuration
        var firebaseConfig = {
            apiKey: "AIzaSyCxILqE3ZeIJD0S89DF-G2V7P_RgXAbwE",
            authDomain: "project-80445.firebaseapp.com",
            databaseURL: "https://project-80445.firebaseio.com",
            projectId: "project-80445",
            storageBucket: "project-80445.appspot.com",
            messagingSenderId: "3492394234",
            appId: "1:534534534:web:34534545345435"
        };
          // Initialize Firebase
        firebase.initializeApp(firebaseConfig);

        const messaging = firebase.messaging();

        navigator.serviceWorker.register('./firebase-messaging-sw.js')
            .then(function(registration) {
              messaging.useServiceWorker(registration);

              messaging.requestPermission()
                .then(function() {
                    return messaging.getToken();
                })
                .then(function(token) {
                    // update this token at the server
                    if(! isTokenSentToServer()) {
                        $.get( 'update-push-token?token=' + token );

                        setTokenSentToServer(true);
                    }

                    messaging.onMessage(function(payload) {
                        console.log('Message received. ', payload);
                    });
                })
                .catch(function(err) {
                    console.log('Permission denied');
                });
            });
    }
 </script>
我希望
onMessage
事件侦听器在firebase发出新通知时工作。我试着在一个新的测试环境中设置它,但在那里也不起作用。所以,设置没有问题

客户端生成一个唯一的令牌,将其发送到保存该令牌的服务器,然后使用该令牌发送通知

我如何调试,我遗漏了什么

编辑

我试过了,效果很好。所以,这可能就是我发送请求的方式

   <?php

      $fields = array (
            // 'registration_ids' => $devices,
            // 'data' => array (
            //     "message" => $message,
            //     "click_action" => $click_action
            // )
            "notification" => [
                "title" => "FCM Message",
                "body" => "This is an FCM Message",
            ],
            "to" => $token // key that I generated using messaging.getToken() and saved it in the database
        );
        $fields = json_encode ( $fields );

        $headers = array (
            'Authorization: key=' . "AIzaSyBku4SDFIS9sd0fsdios890Z2269p8A",
            'Content-Type: application/json'
        );

        $ch = curl_init ();
        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, $fields );

        $result = curl_exec ( $ch );

        // echo "<pre>";
        // var_dump($result); die();

        curl_close ( $ch );