gpt4 book ai didi

javascript - 通过 NodeJS 将消息发布到 Firebase Cloud Messaging

转载 作者:行者123 更新时间:2023-12-01 01:28:31 25 4
gpt4 key购买 nike

我正在尝试使用这个包实现一个简单的 Node js

https://www.npmjs.com/package/fcm-node

向我的 Firebase CM 发送 1 条简单的推送消息,以便它可以触发向 iPhone 发送推送通知

我已经执行了以下步骤,不知道为什么它仍然不起作用:

console.log("START");

var FCM = require('fcm-node')

var serverKey = require('/Users/john/Desktop/Apps/APNS/node/mhn-app-firebase-adminsdk-bs45c-5ac3770488.json')

var fcm = new FCM(serverKey)

var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera)
to: '##########',
collapse_key: 'green',

notification: {
title: 'Title of your push notification',
body: 'Body of your push notification'
},

data: { //you can send only notification or only data(or include both)
cpeMac: '000000000000',
type: 'malware'
}
}

fcm.send(message, function(err, response){
if (err) {
console.log("Something has gone wrong!")

console.log(err);

} else {
console.log("Successfully sent with response: ", response)
}
})

console.log("END");
<小时/>

结果

我不断陷入

console.log(err);

带有这些消息

⚡️  node  node app.js 
START
END
Something has gone wrong!
{ Error: Messaging payload contains an invalid "collapse_key" property. Valid properties are "data" and "notification".
at FirebaseMessagingError.FirebaseError [as constructor] (/Users/john/Desktop/Apps/APNS/node/node_modules/fcm-node/node_modules/firebase-admin/lib/utils/error.js:25:28)
at new FirebaseMessagingError (/Users/john/Desktop/Apps/APNS/node/node_modules/fcm-node/node_modules/firebase-admin/lib/utils/error.js:130:23)
at /Users/john/Desktop/Apps/APNS/node/node_modules/fcm-node/node_modules/firebase-admin/lib/messaging/messaging.js:465:23
at Array.forEach (<anonymous>)
at Messaging.validateMessagingPayload (/Users/john/Desktop/Apps/APNS/node/node_modules/fcm-node/node_modules/firebase-admin/lib/messaging/messaging.js:462:21)
at /Users/john/Desktop/Apps/APNS/node/node_modules/fcm-node/node_modules/firebase-admin/lib/messaging/messaging.js:204:37
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:686:11)
at startup (bootstrap_node.js:187:16)
errorInfo:
{ code: 'messaging/invalid-payload',
message: 'Messaging payload contains an invalid "collapse_key" property. Valid properties are "data" and "notification".' } }

我不知道该放什么作为collapse_key。如何在我的 Firebase 帐户中找到它?

最佳答案

您需要collapse_key: "new_message"和通知: { tag: "new_message"}

console.log("START");
var FCM = require('fcm-node');
var serverKey = require('secretKeyJson_path')
var fcm = new FCM(serverKey)
var collapseKey = 'new_message';
var message = {
to: 'client_app_token',
data: {
cpeMac: '000000000000',
type: 'malware'
},
notification: {
title: 'Hello motherfucker',
body: 'Nice body',
tag: collapseKey,
icon: 'ic_notification',
color: '#18d821',
sound: 'default',
},
};


fcm.send(message, function(err, response){
if (err) {
console.log("Something has gone wrong!")

console.log(err);

} else {
console.log("Successfully sent with response: ", response)
}
})

console.log("END");

仅针对您的上下文,collapse_key 旨在在设备离线时工作,并且当重新获得互联网连接时,它只会传递离线时收到的最后一个通知。

关于javascript - 通过 NodeJS 将消息发布到 Firebase Cloud Messaging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com