WebアプリケーションでWebプッシュ通知を実装する必要があるため、私は自分のアプリでFirefoxベースのクラウドメッセージングをdocsの助けを借りてセットアップしました。通知の許可を許可し、許可を受け入れる場合はトークンIDも取得します。ローカルホスト上のWeb用のFCMプッシュ通知を受け取りません
問題は、生成されたトークンをテストするための通知を送信しようとしたときに、メッセージが送信されたという応答が表示されていますが、クライアント側で受信できません。
私が正常にサービスワーカーファイルを登録することができるよ私のindex.html
<head>
<script src="https://www.gstatic.com/firebasejs/4.4.0/firebase.js"></script>
<link rel="manifest" href="./firebase.json">
</head>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./firebase-messaging-sw.js').then(function(registration) {
console.log('Firebase Worker Registered');
}).catch(function(err) {
console.log('Service Worker registration failed: ', err);
});
}
</script>
マイApp.component.ts
var config = {
apiKey: "somekey",
authDomain: "someproject-2.firebaseapp.com",
databaseURL: "https://someproject-2.firebaseio.com",
projectId: "someproject-2",
storageBucket: "",
messagingSenderId: "someid"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function() {
console.log('Notification permission granted.');
return messaging.getToken()
})
.then(function(result) {
console.log("The token is: ", result);
})
.catch(function(err) {
console.log('Unable to get permission to notify.', err);
});
messaging.onMessage(function(payload) {
console.log("Message received. ", payload);
});
私は許可ダイアログを取得していますこのコードで許可を求めてトークンを取得する
私が以前使用していたカールコード私は正常にこのコード
で通知を送信することができるよメッセージに
curl -X POST -H "Authorization: key=somekey" -H "Content-Type: application/json" -d '{
"notification": {
"title": "Portugal vs. Denmark",
"body": "5 to 1",
"icon": "firebase-logo.png",
"click_action": "http://localhost:8081"
},
"to": "sometoken"
}' "https://fcm.googleapis.com/fcm/send"
を送って、私はそれがローカルホスト上にあるかもしれないので、私は間違っているつもりだところを見つけ出すことはできませんか?おそらくonMessageメソッドが正しく実行されていませんか?どんな助けも高く評価されます!
サービスワーカーは安全でない原点では動作しません。あなたのローカルホストはhttps上になければなりません。 –
問題が見つかりましたか?私は全く同じ問題を抱えています。 – chrisonline
仲間はいません。私が見つけた場合にはお知らせします –