Node.js 如何在云函数中传递动态引用?
我想使用云功能为特定用户发送推送通知 这是我的密码:Node.js 如何在云函数中传递动态引用?,node.js,firebase,firebase-cloud-messaging,google-cloud-functions,Node.js,Firebase,Firebase Cloud Messaging,Google Cloud Functions,我想使用云功能为特定用户发送推送通知 这是我的密码: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {
const payload = {
notification: {
title: 'Test message',
body: 'Hope you are fine',
badge: '1',
sound: 'default',
}
};
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 => {
});
}
});
});
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {
var eventSnapshot = event.data;
var particularUser = eventSnapshot.child('City');
if (particularUser.changed()) {
const payload = {
notification: {
title: 'Test message',
body: 'Hope you are fine',
badge: '1',
sound: 'default',
}
};
var getToken = eventSnapshot.child('fcmToken');
const token = Object.keys(getToken.val());
return admin.messaging().sendToDevice(token, payload).then(response => {
});
}
});
但是,如何动态地执行,也就是说,我想为特定用户发送推送通知,这段代码将通知发送给所有注册的用户。因此,请帮助我将静态id(db引用)更改为动态id(db引用),以及如何在此代码行中传递不同的通知内容:
const payload = {
notification: {
title: 'Test message',
body: 'Hope you are fine',
badge: '1',
sound: 'default',
}
};
有人在这方面指导我吗?我是动态实现的。希望它能帮助别人 这是我的密码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {
const payload = {
notification: {
title: 'Test message',
body: 'Hope you are fine',
badge: '1',
sound: 'default',
}
};
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 => {
});
}
});
});
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {
var eventSnapshot = event.data;
var particularUser = eventSnapshot.child('City');
if (particularUser.changed()) {
const payload = {
notification: {
title: 'Test message',
body: 'Hope you are fine',
badge: '1',
sound: 'default',
}
};
var getToken = eventSnapshot.child('fcmToken');
const token = Object.keys(getToken.val());
return admin.messaging().sendToDevice(token, payload).then(response => {
});
}
});
若要更改通知内容,可以在从应用程序端更新后从数据库中获取