我正在使用 Web FCM 进行云消息传递。当我发送一个通知有了标题和正文,Firefox 和 Chrome 都会显示通知并且工作正常。但是当我尝试发送 FCM 时Data消息,Firefox 不接收和记录消息。
我正在使用一个HTTPS安全网址以及this https://github.com/firebase/quickstart-js模板。
这是我的 JavaScript 函数:
function sendMSG()
{
var _ID = $("#user_id").val();
var ServerKey = "SERVER_KEY";
var msg = {
"to": _ID,
"data": {
"Nick": "Mario",
"body": "great match!",
"Room": "PortugalVSDenmark"
}
}
;
$.ajax({
type: 'POST',
url: "https://fcm.googleapis.com/fcm/send",
headers: {
Authorization: 'key=' + ServerKey
},
contentType: "application/json",
data: JSON.stringify(msg),
success: function (response) {
console.log(response);
},
error: function (xhr, status, error) {
console.log(xhr.error);
}
});
}
还有我的服务人员:
importScripts('/script/firebase.js');
importScripts('/script/firebase-app.js');
importScripts('/script/firebase-messaging.js');
firebase.initializeApp({ 'messagingSenderId': 'MY_ID' });
const messaging = firebase.messaging()
messaging.setBackgroundMessageHandler(function (payload) {
console.log('FIREBASE call', payload);
if (payload.data.status == 'calling') {
channel.postMessage(payload.data)
return self.registration.showNotification('Nuevo pedido', { body: "Llamada para transporte de un pedido" })
}
})
chrome 在控制台中响应消息如下:
但目前firefox还没有任何回应。
谁能帮我解决这个问题?