每个用户具有不同徽章编号的 MulticastMessage
MulticastMessage with different badge number for every user
我在我的服务器端应用程序中设置了 FCM 服务,并且我一直在发送通知(一个接一个)并且按预期工作。
现在,我正在尝试使用 MulticastMessage 发送通知。它运行良好,设备正在正确接收通知。但是我不知道如何为每个用户设置不同的徽章编号。
我正在使用 addAllTokens
方法来设置设备,我正在寻找类似 addAllBadges
的东西来发送与我在 addAllTokens
中插入的每个设备相对应的徽章列表,但我不能找到解决办法。可能吗?我怎样才能做到这一点?
非常感谢!
据我所知,多播消息中每个用户的消息是完全一样的。因此,如果您需要显示不同的徽章数量,则需要为它们制作单独的消息。但是具有相同 content/badge 计数的所有收件人可能是同一多播消息的一部分。
您可以通过执行以下操作来实现此目标......
首先,您需要查询您的数据库以分别获取设备令牌和徽章计数
所以说你有和数组
const badgeCounts = [{
device_token:'aaaaaaaaaaaaaaaaaaaaaa',
badge_count: 1
},{
device_token:'bbbbbbbbbbbbbbbbbbbbbb',
badge_count: 2
},{
device_token:'cccccccccccccccccccccc',
badge_count: 3
},{
device_token:'dddddddddddddddddddddd',
badge_count: 4
}]
Now you can map over this array and compose array of fcm messages, something like below :-
const fcmMessages = [];
badgeCounts.forEach((data) => {
fcmMessages.push({
token: data.device_token, //device token
apns: {
payload: {
aps: {
alert: {
title: "your title",
body: "your body",
},
badge: data.badge_count, // badge
contentAvailable: true,
},
},
},
data: {
// any payload goes here...
},
notification: {
title: "your title",
body: "your body",
},
});
});
/// in firebase messiging you can do like
messaging.sendAll(fcmMessages);
参考文档 https://firebase.google.com/docs/reference/admin/node/admin.messaging.Messaging-1#sendall
我在我的服务器端应用程序中设置了 FCM 服务,并且我一直在发送通知(一个接一个)并且按预期工作。
现在,我正在尝试使用 MulticastMessage 发送通知。它运行良好,设备正在正确接收通知。但是我不知道如何为每个用户设置不同的徽章编号。
我正在使用 addAllTokens
方法来设置设备,我正在寻找类似 addAllBadges
的东西来发送与我在 addAllTokens
中插入的每个设备相对应的徽章列表,但我不能找到解决办法。可能吗?我怎样才能做到这一点?
非常感谢!
据我所知,多播消息中每个用户的消息是完全一样的。因此,如果您需要显示不同的徽章数量,则需要为它们制作单独的消息。但是具有相同 content/badge 计数的所有收件人可能是同一多播消息的一部分。
您可以通过执行以下操作来实现此目标...... 首先,您需要查询您的数据库以分别获取设备令牌和徽章计数
所以说你有和数组
const badgeCounts = [{
device_token:'aaaaaaaaaaaaaaaaaaaaaa',
badge_count: 1
},{
device_token:'bbbbbbbbbbbbbbbbbbbbbb',
badge_count: 2
},{
device_token:'cccccccccccccccccccccc',
badge_count: 3
},{
device_token:'dddddddddddddddddddddd',
badge_count: 4
}]
Now you can map over this array and compose array of fcm messages, something like below :-
const fcmMessages = [];
badgeCounts.forEach((data) => {
fcmMessages.push({
token: data.device_token, //device token
apns: {
payload: {
aps: {
alert: {
title: "your title",
body: "your body",
},
badge: data.badge_count, // badge
contentAvailable: true,
},
},
},
data: {
// any payload goes here...
},
notification: {
title: "your title",
body: "your body",
},
});
});
/// in firebase messiging you can do like
messaging.sendAll(fcmMessages);
参考文档 https://firebase.google.com/docs/reference/admin/node/admin.messaging.Messaging-1#sendall