0

ich mit Push-Benachrichtigung durch die folgende Weise schicke:Push-Benachrichtigung Von Feuerbasis Senden von Firebase Cloud-Funktionen

exports.sendPushNotification = 
functions.database.ref('/chat_rooms/{id}').onWrite(event => { 

console.log(event); 
const original = event.data.val(); 
const reciverId = original['receiverID']; 
const text = original['text']; 
const senderName = original['senderName']; 
var path = 'fcmToken/' + reciverId; 

const payload = { 
notification: { 

title :senderName, 
body: text, 
badge:'7', 
sound:'default', 

    } 
}; 
return admin.database().ref(path).once('value').then(allToken => { 
    if (allToken.val()){ 
     var firebaseReceiverID = allToken.val(); 
     var firebaseToken = firebaseReceiverID['firebaseToken']; 

    return admin.messaging().sendToDevice(firebaseToken,payload).then(response => { 
    }); 
     }; 
    }); 
}); 

My Firebase Datenbankstruktur ist enter image description here wie folgt aus: wie Push zu senden, wenn ein Kind unter hinzugefügt wird Chatroom (um den Pfad zu erkennen)

+0

wird die aktuelle Push-Benachrichtigung gesendet? Was bekommst du hier? console.log (event); '? –

+0

wenn neue chat_rooms hinzugefügt wird, dann wird es ausgeführt sonst wird es nicht ausgeführt Ich möchte ausgeführt werden wenn msg hinzugefügt wird uder chatroom –

+0

ja das ist richtig, also was ist das Problem? Das ist der Zweck von onWrite es wird ausgelöst, wenn alles an diesem Ort hinzugefügt wird. Wo ist msg, in der Datenbank? –

Antwort

2

onWrite ist ein Datenbank-Trigger, so dass jedes Mal, wenn Sie Daten unter dem von Ihnen angegebenen Speicherort hinzufügen, dieser ausgelöst wird.

Jetzt wollen, wenn Sie die ID zu bekommen, dies zu tun:

export.sendPushNotification=functions.database.ref('/chat_rooms/{PerticularChatRoomid}/‌​‌​{id}').onWrite(eve‌​nt => { 

console.log(event); 
const chatroomid=event.params.PerticularChatRoomid; 

} 

Auf diese Weise können die PerticularChatRoomid aus der Datenbank bekommen können.

die Werte des Platzhalter {id}, immer event.params

Weitere Informationen in diesem Link zu erhalten: https://firebase.google.com/docs/functions/database-events

Verwandte Themen