gpt4 book ai didi

javascript - API 发送的 Firebase 通知未在设备上收到

转载 作者:行者123 更新时间:2023-12-05 03:16:40 24 4
gpt4 key购买 nike

我正在尝试通过 cron 发送基于在我的服务器上(在 nodejs 上)运行的业务逻辑的通知。

问题

通知没有出现在设备上。

描述

我正在使用 firebase 管理 Node 包。

我的代码看起来像这样

import admin from "firebase-admin";

import serviceAccount from "../../firebase-admin.json" assert { type: 'json' };
import { getMessaging } from 'firebase-admin/messaging';

admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});

...

console.log(message);
await getMessaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});

我的日志输出是这样的

{
notification: {
title: 'This is a string',
body: 'This is another string'
},
token: 'aLphaNumeric:reallyLongAlphaNumericWithDashesAndUnderscores'
}
Successfully sent message: projects/<project-name>/messages/<id>

我看到的一切都表明应该发送!

最佳答案

sendMulticast 和 Admin FCM API 允许您将消息多播到设备注册 token 列表。每次调用最多可以指定 500 个设备注册 token 。

sendMulticast 将 2 个参数作为输入,第一个是包含消息标题和正文的通知。另一个参数是数组类型的 fcmTokens,因此您必须将该参数作为数组传递,即使只有一个 fcmToken

//Import the file where you have imported the service file.
const adminApp = require("../firebase/firebaseConfig");
const notificationToAll = (title, body, tokens) => {
var notibody = {
notification: {
title: title,
body: body,
},
tokens: tokens,
};
return new Promise((resolve, reject) => {
adminApp
.messaging()
.sendMulticast(notibody)
.then((response) => {
console.log(response.responses);
if (response.responses[0].error != undefined) {
console.log(JSON.stringify(response.responses[0].error));
}
resolve(response);
})
.catch((error) => {
console.log(JSON.stringify(error));
reject(error);
});
});
};

module.exports = notificationToAll;

应用程序.js

const notificationToAll = require("./helper/notification");
notificationToAll(
"This is a string",
`This is another string`,
["aLphaNumeric:reallyLongAlphaNumericWithDashesAndUnderscores"]
)

这是经过测试的代码,可以在实时环境中运行。

关于javascript - API 发送的 Firebase 通知未在设备上收到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74574456/

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