android - 使用 Cloud Function 创建文档时发送通知
问题描述
我使用 Firebase 和 Firestore 作为数据库
我想在用户通知集合中创建文档时推送新通知。
应该是这样的
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
exports.sendNotificationToTopic = functions.firestore.document('notification/{notificationId}').onWrite(async (event) => {
var message ={
notification: {
title: "This is Title",
body: "This is the Body",
user: "fA0eLup_TUKVzdBkQbd3Qb:APA91bHuSuZOjdJgXn6xBndhQQkfnzm1pdLl9x3B2FZUYcYQULVPJFRbERezPuLoXD4QCUU2yalLUvgRfEas4B0sKAcwOkcmGkudLFvQWqTT7uhG21pKffTNTz5GvWKcD2-hKkfPq9Gq"
},
"token": user
};
let response=await admin.messaging().send(message);
console.log(response);
});
是的,我正在使用云功能
我在云功能日志中遇到了一些错误
sendNotificationToTopic
Error: Exactly one of topic, token or condition is required at FirebaseMessagingError.FirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:42:28) at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:88:28) at new FirebaseMessagingError (/srv/node_modules/firebase-admin/lib/utils/error.js:254:16) at Object.validateMessage (/srv/node_modules/firebase-admin/lib/messaging/messaging-types.js:46:15) at Messaging.send (/srv/node_modules/firebase-admin/lib/messaging/messaging.js:207:27) at exports.sendNotificationToTopic.functions.firestore.document.onWrite (/srv/index.js:22:40) at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23) at /worker/worker.js:825:24 at <anonymous> at process._tickDomainCallback (internal/process/next_tick.js:229:7)
解决方案
推荐阅读
- android - 从 alertdialog android studio 获取字符串
- c# - 引用类类型的只读属性
- php - 如果“匿名”字段为 1,Laravel 雄辩,将“用户名”更改为匿名
- ruby-on-rails - 带有 JQuery-ui-rails 日期的 Rails 5.2 Datepicker 偶尔保存日期
- c# - 如何在 C# 中设置三个接受用户输入并对输入进行数学运算的方法?
- node.js - Nodejs、DTO、方法的输入类型和返回类型
- r - 如何使用rentrez从文章中提取作者和链接?
- json - 确定在解组时是否在 json 字符串中提供了值
- php - 使用 DateTime() 获取每月的第 N 天
- kubernetes - 是否可以将多个入口与 IBM Cloud Kubernetes 服务合并?