簡體   English   中英

Firestore雲消息傳遞iOS Swift

[英]firestore cloud messaging iOS Swift

我無法在firestore文檔數據庫中獲得新的記錄條目來向用戶生成警報。

  1. iOS應用程序可以毫無問題地獲取和更新Firestore數據
  2. 如果我從firebase手動發送消息,我的應用程序會收到消息,沒有問題
  3. 我可以將我的雲功能部署到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)

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM