我想向不同的令牌组发送通知。
我的实时数据库看起来像这样
此代码仅适用于fcm令牌组之一。
enter code heregconst functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.notification= functions.database.ref('notification/{id}').onWrite(evt => {
const payload = {
notification:{
title : 'Ny person på listen',
body : '',
badge : '1',
sound : 'default'
}
};
return admin.database().ref('fcm-token/HHE Data').once('value').then(allToken => {
if(allToken.val()){
console.log('token available');
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token,payload);
}else{
console.log('No token available');
}
});
});
如何获取{id}是什么?
路径“ notification / {id}”在代码之外是特定的 image
但我想这样使用它:
return admin.database().ref('fcm-token/' + id).once('value').then(allToken => {
if(allToken.val()){
console.log('token available');
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token,payload);
}else{
console.log('No token available');
}
});
我想出的唯一解决方案是为每个小组手动进行。 并为每个函数创建函数,因为它检查的路径在代码外部是特定的。 image
像这样:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.notification = functions.database.ref('notification/HHE Data/{id}').onCreate(evt => {
const payload = {
notification:{
title : 'Ny person på listen',
body : '',
badge : '1',
sound : 'default'
}
};
return admin.database().ref('fcm-token/HHE Data').once('value').then(allToken => {
if(allToken.val()){
console.log('token available');
const token = Object.keys(allToken.val());
return admin.messaging().sendToDevice(token,payload);
}else{
console.log('No token available');
}
});
return admin.database().ref('notification').once('value');
});