【发布时间】:2017-10-08 08:35:55
【问题描述】:
我使用 Firebase 作为我的 Android 应用程序的后端,并且对使用 Cloud Functions for Firebase 非常陌生,我想知道当事件发生时如何向特定用户发送推送通知。
例如,当数据库的 adminName 节点发生写入时,我将如何在下面的代码中向具有 uId 的用户发送推送通知:
exports.sendNotification = functions.database.ref('/users/{uId}/groups/{adminName}')
.onWrite(event => {
// Grab the current value of what was written to the Realtime Database.
var eventSnapshot = event.data;
var str1 = "Author is ";
var str = str1.concat(eventSnapshot.child("author").val());
console.log(str);
var topic = "android";
var payload = {
data: {
title: eventSnapshot.child("title").val(),
author: eventSnapshot.child("author").val()
}
};
// Send a message to devices subscribed to the provided topic.
return admin.messaging().sendToTopic(topic, payload)
.then(function (response) {
// See the MessagingTopicResponse reference documentation for the
// contents of response.
console.log("Successfully sent message:", response);
})
.catch(function (error) {
console.log("Error sending message:", error);
});
});
【问题讨论】:
-
您必须拥有该特定用户的注册令牌并使用
sendToDevice。
标签: node.js firebase firebase-realtime-database firebase-cloud-messaging google-cloud-functions