我使用以下代码使用FCM将通知从一个设备发送到另一个设备。在返回admin.messaging((.sendToDevice(…(之前,一切都很好。"令牌ID:"日志显示接收器的令牌ID,但当我将变量Token_ID设置为sendToDevice函数时,不会调用通知,因此不会发送通知。有人能告诉我怎么了吗?
var firebase = require("firebase-admin");
var serviceAccount = require("./julla-tutorial.json");
console.log("enter in then Firebase Api");
const firebaseToken = [
'e0T6j1AiRjaa7IXweJniJq:APA91bHNznSHSIey08s-C-c3gchci6wepvhP1QxQyYbmZ8LySI3wnu64iW7Q23GhA6VCdc4yodZoCFOgynfAb5C8O8VE81OcSv_LL-K3ET1IKGZ_6h35n-_q5EKFtfJWlzOqZr4IvpiB',
'dNWnSqyCQbufzv1JutNEWr:APA91bFcI9FDyRxHRBEcdw4791X0e-V0k1FjXcSstUA67l94hSojMRCd6LWr2b57azNEt3z_XLwLljMX4u2mc9cZDrAVm55Mw9CHGyue-09KofWnnHNR9XWBibc4T76xOV_DWX7T2RvW',
'cq65rtuaTCKGk5lHk7UabN:APA91bFR3kAArg6lhuBq7ktNuBk7Z9MXXk3PskqhYa8CgNaEl6MX4TQ5lo35d6XhnCQ4fEkCkyZ_j08evxE9Y4oVCRTEdqsrkccCVTE8Di47lfmDR3i1NdoL3re9oLw6F_uNsnvRoQcq'
]
firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount)
})
const payload = {
notification: {
title: 'Demo 2345',
body: 'dfghj',
sound: 'default',
color: 'yellow',
android_channel_id: 'default',
channel_id: 'default'
},
data: { id: 'broadcast', channelId: 'default' }
}
const options = {
priority: 'high',
timeToLive: 60 * 60 * 24, // 1 day
};
console.log('------payload---',payload);
console.log('-----TOKEN_Array----',firebaseToken);
console.log('-------options-----',options);
firebase.messaging().sendToDevice(firebaseToken, payload, options).then(function (response) {
console.log('--------response',response);
}) .catch(function (error) {
console.log('-------rejet',reject);
});
看起来您没有更改本教程中的代码:https://medium.com/@jullainc/防火带-推送通知-移动设备-使用-nodejs-7d514e10dd4
您需要更改第二行代码:
var serviceAccount = require("./julla-tutorial.json");
实际指向您自己的firebase-push-admin.json文件,该文件保存您的私钥,并使用firebasecloudmessaging api注册后端应用程序。您可以从firebase控制台下载该文件,如上面文章中所述。
我建议通过将此文件添加到.gitignore来从您的git历史记录中隐藏此文件,这样您就不会意外地将私钥推送到公共回购中。
除了上面的链接,我还将为您链接另一个资源,该链接帮助我在nodeJS后端应用程序中实现了firebase推送通知。
https://izaanjahangir.medium.com/setting-schedule-push-notification-using-node-js-and-mongodb-95f73c00fc2e
https://github.com/izaanjahangir/schedule-push-notification-nodejs
此外,我还将向您链接另一个回购,我目前正在那里进行功能齐全的firebase推送通知实现。也许看到一些示例代码会有所帮助。
https://gitlab.com/fiehra/plants-backend