0

크롬을 사용하여 알림을받는 서비스 근로자가 인데 파이어 폭스와 함께 수신하지 않습니다.GCM (Google 클라우드 메시징)이 파이어 폭스와 작동하지 않습니다.

푸시 리스너가 (그것을 디버깅에 의해) 파이어 폭스에 모두 해고되지 않고,

PS : 서비스 노동자가 성공적으로 등록되어 있지만 알림이 수신되지 않는 경우입니다.

내 코드의 문제점은 무엇입니까?

documentation에서 기반
self.addEventListener('install', function (event) { 
event.waitUntil(self.skipWaiting()); 
}); 

self.addEventListener('activate', function (event) { 
console.log('Activated', event); 
}); 

self.addEventListener('push', function (event) { 
event.waitUntil(
    fetch('/path', { 
     credentials: 'include', 
     method: 'post', 
    }) 
    .then(function (response) { 
     return response.json() 
      .then(function (data) { 
       return self.registration.showNotification(data.title, { 
        body: data.body, 
        icon: '/images/image.png', 
       }); 
      }); 
    }) 
    .catch(function (error) { 
     console.error('wrong', error); 
    }) 
); 
}); 

답변

1

, 새 메시지 채널 (MessageChannel.MessageChannel())를 설정 서비스 노동자와 comunicate 수와 서비스 노동자에 Worker.postMessage()를 호출하여 서비스 작업자에 걸쳐 PORT2를 보내도록 Channel Messaging API를 사용하는 경우, 통신 채널을 열려면 또한 서비스 작업자가 보낸 메시지에 응답하기 위해 수신기를 설정해야합니다.

GCM을 올바르게 설정하는 방법에 대해 steps을 준수했는지 확인하십시오. 관련 링크를 확인할 수도 있습니다. GCM Equivalent for Firefox

희망이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 Google gcm 문서를 사용하여 알림을 보내고 있으며이를 Firefox와 통합하려고합니다. https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl=en –

1

푸시 알림을 등록하려면 클라이언트에서 코드를 공유해야합니다.

푸시 알림을 등록하면 엔드 포인트로 구독을 받게됩니다.

  • 당신은 파이어 폭스에서 제대로 푸시 알림을 등록하는 :

    여기
    navigator.serviceWorker.ready 
         .then((reg) => reg.pushManager.subscribe({ userVisibleOnly: true })) 
         .then((subscription) => { 
          const endpoint = subscription.endpoint; 
          // endpoint will have different server values when using this code in Chrome or Firefox. 
    

    가 고려해야 할 주요 사항은 다음과 같습니다 Firefox에서 그 엔드 포인트는 모질라에서 제공하는 GCM의 URL을하지만, 푸시 서버를 결코 것인가?

  • 푸시 알림을 수행하기 위해 도달해야하는 엔드 포인트의 URL을 확인하십시오. 이는 mozilla 서버입니까?
  • 밀어 넣기를 수신했는지 확인하기 위해 밀어 넣기 수신기 바로 뒤에 중단 점을 설정하십시오.
+0

답변을 주셔서 감사합니다. 성공적으로 모질라 서버에서 끝점을 얻었지만 mozilla 서버에서 알림을받을 수 없습니다. mozilla 서버에 다른 푸시 리스너를 만들어야합니까? –

+0

다음은 제가 수행 한 단계입니다. https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web? hl = en –

+0

그래서 귀하의 조언을 확인했지만, 작동하지 않는 마지막 하나, 푸시 수신자는 Firefox에서는 트리거되지 않지만 Google에서는 올바르게 작동합니다. –

관련 문제