小编dls*_*mer的帖子

Chrome没有收到fcm消息,但Firefox却收到了

我正在使用FCM来促进自定义服务工作者中的推送消息。我遵循了FCM入门指南,但是遇到了JavaScript客户端无法在chrome上接收已发送消息的问题,但是firefox可以按预期工作。

消息是从托管服务器发送的,消息的发送没有失败,并且消息ID与每个注册的客户端相关联。

下面是页面脚本,下面是相关的服务工作者代码。

页面html

<script>
    // Initialize Firebase
    var config = {
        <CONFIG SETTINGS>
    };
    firebase.initializeApp(config);
    var messaging = firebase.messaging();
</script>
<script>
    if ('serviceWorker' in navigator) {
        window.addEventListener('load', function () {
            navigator.serviceWorker.register('/sw.js').then(function (registration) {
                console.log('ServiceWorker registration successful with scope: ', registration.scope);
                messaging.useServiceWorker(registration);
                resetUI();
            }).catch(function (err) {
                console.log('ServiceWorker registration failed: ', err);
            });
        });
    }
    const permissionDivId = 'permission_div';
    messaging.onTokenRefresh(function () {
        messaging.getToken()
            .then(function (refreshedToken) {
                console.log('Token refreshed.');
                setTokenSentToServer(false);
                sendTokenToServer(refreshedToken);
                resetUI();
            })
            .catch(function (err) {
                console.log('Unable to retrieve refreshed token ', …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-cloud-messaging

5
推荐指数
0
解决办法
1138
查看次数