如何在 Firebase 网络通知中让"fcm_options.link"正常运行



我正在尝试让我的 FCM 网络通知包含指向我网站的可点击链接,使用 firebase 管理员 SDK(版本 7.0.0)进行 node.js。据我所知,我正在按照文档转到 T,但我无法让链接正常工作。澄清一下,我的通知工作正常,否则,这只是我没有工作的链接。

文档指出:

对于从应用服务器发送的通知消息,FCM JavaScript API 支持 fcm_options.link 密钥。通常,此设置为 Web 应用中的页面

我已经在通知消息中包含webpush.fcm_options.link。我确保在我的消息中包含明确的notification有效负载,因为文档指出data消息不支持fcm_options.link

这是我目前消息的结构:

{
notification: {
title: 'Title',
body: 'Body',
},
data: {
// my data here
},
webpush: {
notification: {
requireInteraction: true,
icon: '/icons/notification.png'
},
fcm_options: {
link: 'https://example.com/'
}
},
// android: {},
// apns: {},
topic: 'sometopic'
};

这是我用来发送消息的函数:

const admin = require('firebase-admin')
const sendMessage = message => {
admin
.messaging()
.send(message)
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error)
});
};

link属性应根据文档工作:我的 url 包含https,我的通知是从应用服务器发送的,并且包括显式通知有效负载。目前,单击通知只会使其消失,而不会发生任何其他事情。

更新:我弄清楚了问题所在 - 我的服务工作者正在使用importScripts功能,但我使用的是不支持fcm_options.link的过时版本的 Firebase 脚本。我将其更改为当前版本的火力基地(5.8.5),它可以工作。都整理好了!

在通知中尝试 这个

"notification":{
"title":"IssA",
"body":"Lafi",
"icon": "Icon URL",
"click_action": "Your URL here"
}

在上一版本中,在 node js 中使用 firebase admin,这是正确的配置:

var message = {
notification: {
title: "",
body: ""                
},
webpush: {
fcmOptions: {
link: "https://yourlink.web.app"
}
}
};

相关内容

  • 没有找到相关文章

最新更新