在后端后面的库中使用(来自package.json)。
"firebase": "^8.3.3",
"firebase-admin": "^9.6.0",尝试向多个用户发送多播消息。
import * as admin from 'firebase-admin';
const createNotificationMessage = (tokens: string[], data?: { [key: string]: string }): admin.messaging.MulticastMessage => {
return {
data,
tokens,
apns: {
payload: {
aps: {
contentAvailable: true,
},
},
},
};
};
const sendMulticast = (payload: admin.messaging.MulticastMessage) =>
admin.messaging().sendMulticast(payload);
const sendNotifications = async () => {
try {
const data = getData(); // here we get main data
const userTokens = getTokens(); // here we get tokens
await sendMulticast(createNotificationMessage(userTokens, data));
} catch (error) {
console.log(error);
}
}在发送之前,我将4个令牌放入消息中。但我收到这条错误信息作为回应
[{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}}]我想做的是:
send逐个发送消息。结果:每个消息apns-priority设置为5,而相同的错误content-available,content_available中设置自定义属性。相同的错误apns属性。工作正常,没有错误,但我需要iOS应用程序中的静默通知,这就是为什么需要选项contentAvailable。注意:此代码在2021年4月9日之前运行良好。
发布于 2021-04-14 14:35:32
经过一整天的搜索错误的原因,我找到了我的问题的解决方案。
const createNotificationMessage = (tokens: string[], data?: { [key: string]: string }): admin.messaging.MulticastMessage => {
return {
data,
tokens,
apns: {
payload: {
aps: {
contentAvailable: true,
badge : 0
},
},
},
};
};不知道为什么firebase会显示错误,因为根据官方网站,参数badge是可选字符串。
https://stackoverflow.com/questions/67088746
复制相似问题