我无法将新记录条目添加到我的 firestore 文档数据库中以向用户生成警报。
- iOS 应用可以毫无问题地获取和更新 Firestore 数据
- 如果我从 Firebase 手动发送消息,我的应用程序不会出现任何问题
- 我可以将云函数部署到 firebase,不会出现任何错误
我做错了什么?谢谢你的帮助。
let functions = require('firebase-functions')
let admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
let db = admin.firestore()
exports.announceAlert = functions.database
.ref('/alerts/{documentId}')
.onCreate((snapshot, context) => {
let alert = snapshot.val()
sendNotification(alert)
})
function sendNotification(alert) {
let title = alert.Incident_Number
let summary = alert.Flash_Summary
let status = alert.Incident_Status
let payload = {
notification: {
title: 'Critical Incident: ' + title,
body: 'Summary: ' + summary,
sound: 'default'
}
}
console.log(payload)
let topic = "Alerts"
admin.messaging().sendToTopic(topic, payload)
}
最佳答案
这就是我所做的并且有效。请记住,您的 iOS 应用程序的用户必须订阅该主题,并且您可以通过应用程序来订阅该主题。下面的代码只是一个函数,告诉 firebase 在某个存储库中创建新文档时向订阅用户发送通知。
let functions = require('firebase-functions')
let admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
let db = admin.firestore()
exports.announceMessage = functions.firestore
.document('/myData/{documentId}')
.onCreate((snapshot, context) => {
let message = snapshot.data()
sendNotification(message)
})
function sendNotification(message) {
let title = message.column1
let notification = message.column2
let payload = {
notification: {
title: 'Some title: ' + title,
body: 'Some header: ' + notification
},
}
console.log(payload)
let topic = "yourTopic"
return admin.messaging().sendToTopic(topic, payload)
}
关于ios - firestore 云消息传递 iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54298072/