[英]How to increment badge count with firebase cloud functions
Right now my payload only sends 1 badge count, the value of the badge count does not increment. 现在我的有效负载只发送1个徽章计数,徽章计数的值不会增加。 It remains as 1, even if you get more than 1 notifications. 即使您收到超过1个通知,它仍为1。
How should the javascript be written? 如何编写javascript?
My current code: 我目前的代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushForHelp =
functions.database.ref('/help/school/{id}').onWrite(event => {
const payLoad = {
notification: {
title: 'Someone',
body: 'needs help',
badge: '1',
sound: 'Intruder.mp3'
}
};
return admin.database().ref('fcmToken').once('value').then(allToken => {
if (allToken.val()) {
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token, payLoad).then(response => {
});
};
});
});
You can store a badgeCount
in your JS and have it increment on every call, or randomize it or what have you 你可以在你的JS中存储一个badgeCount
,并在每次调用时增加它,或随机化它或你有什么
ie: 即:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var badgeCount = 1;
exports.sendPushForHelp =
functions.database.ref('/help/school/{id}').onWrite(event => {
const payLoad = {
notification: {
title: 'Someone',
body: 'needs help',
badge: badgeCount.toString(),
sound: 'Intruder.mp3'
}
};
badgeCount++; //or whatever
return admin.database().ref('fcmToken').once('value').then(allToken => {
if (allToken.val()) {
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token, payLoad).then(response => {
//here might be a good place to increment as well, only on success
});
};
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.