这个包含较小的令牌列表的代码可以正常工作,但我不知道为什么当令牌单独有效时,它无法向所有令牌发送通知。
我做错什么了吗?当令牌列表包含较少的令牌时,将发送所有通知。最多有30个代币。
let notificationData = {
Id: messageInfo.ChatId,
Type: notificationType.ChatMessage,
Data: chatRoom
};
var payload = {
notification: {
title: title,
body: body,
},
data: {
NotificationData: JSON.stringify(notificationData),
},
apns: {
payload: {
aps: {
sound: "default",
},
},
},
};
payload.tokens = chatRoom.FCMTokens;
return admin.messaging().sendMulticast(payload).then(response => {
if (response.failureCount > 0) {
const failedTokens = [];
response.responses.forEach((resp, idx) => {
if (!resp.success) {
failedTokens.push(payload.tokens[idx]);
}
});
console.log('List of tokens that caused failures: ' + JSON.stringify(response));
console.log('List of tokens that caused failures: ' + failedTokens);
}
else {
console.log("Successsfully MulticastMessage");
}
return null;
}).catch(error => {
console.log("Error sending notification", error);
return null;
});更多信息:


发布于 2022-01-04 14:18:57
问题是有效负载中有许多用户超过了4kb。
通知消息可以包含可选的数据有效负载。这两种消息类型的最大有效负载为4KB,但从Firebase控制台发送消息时除外,后者强制执行1024个字符限制。
https://stackoverflow.com/questions/70575492
复制相似问题