当前位置: 首页 > 知识库问答 >
问题:

firefox中不加载FCM数据消息

秦安宁
2023-03-14

我正在使用Web FCM进行云消息传递。当我发送带有标题和正文的通知时,firefox和chrome都会显示通知,并且工作正常。但当我试图发送FCM数据消息时,firefox不会接收和记录消息。我使用的是HTTPS安全url,还有这个模板。

这是我的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没有任何回应。

有人能帮我解决这个问题吗?

共有1个答案

柯正谊
2023-03-14

最后我发现问题出在哪里:

contentType必须放在标题括号中,如下所示:

    headers: {
        'Content-Type': 'application/json',
        Authorization: 'key=' + ServerKey
    },  

现在,所有功能都可以在火狐中正常工作

 类似资料:
  • 我正在尝试使用亚马逊SNS控制台中的发布endpoint将推送通知(PN)从我的应用服务器发送到android设备,该消息和消息结构为json,工作正常。 但是,当我试图实现相同的Java它的设备没有收到通知。 控制台上的响应 发布列表请求:{ target arn:arn:AWS:SNS:AP-south-1:818862955266:endpoint/GCM/Test app/a1ec 811

  • 我注意到,当我在后台发送FCM负载时,我看到通知消息被显示,这与文档一致,但我看到收到的每个通知消息的本机通知。当我的应用程序在后台时,我收到了3条推送消息(带有通知负载),现在我在通知托盘中看到了3条本机通知。为什么他们没有崩溃?默认情况下,根据FCM文档,所有通知消息都是可折叠的。参考文件:https://firebase.google.com/docs/cloud-messaging/con

  • 详情: Firefox版本:31.1.1 ESR Selenium版本:2.43 Python版本:2.7.8

  • 我尝试从fcm消息中获取有效载荷数据,而我的应用程序在后台。所以我读了这篇文档,他们说,我可以从我的launcher活动中获得意图的附加数据,因为如果您默认点击通知,您的launcher活动将打开。 我通过firebase控制台发送消息,然后我的应用程序处于前台,我可以通过onMessageReceived()方法处理所有这些。 这是我的代码来实现这一点,但意向性附加是空的…

  • 创建表之后,你需要填充数据,你可以通过LOAD DATA和INSERT来实现。 数据格式如下: Whistler Gwen bird \N 1997-12-09 \N 列之间使用\t间隔(LOAD DATA默认的列间隔符),\N表示NULL。 加载文件pet.txt中的数据到表pet中,使用以下命令: mysql> LOAD DATA LOCAL I

  • 问题内容: 当我在Selenium中运行测试时,新打开的firefox窗口将打开,而没有安装我的插件(如xpathchecker)。 是否可以设置selenium,以便它可以将Firefox与已安装的插件一起使用? 问题答案: 如果您使用硒遥控器, 您可能需要创建一个单独的配置文件以使用附加组件进行测试。 之后,您可以在该新配置文件中安装插件。在配置文件管理器中记下配置文件文件夹的路径,或在此处查