0

Ich möchte Push-Benachrichtigung für die einzelnen Benutzer mit Cloud-Funktion senden.Wie übergebe ich dynamische Referenzen in Cloud-Funktionen?

Hier ist mein Code:

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => { 
const payload = { 
    notification: { 
     title: 'Test message', 
     body: 'Hope you are fine', 
     badge: '1', 
     sound: 'default', 
    } 
}; 

return admin.database().ref('fcmToken').once('value').then(allToken => { 
    if(allToken.val()){ 
     const token = Object.keys(allToken.val()); 
     return admin.messaging().sendToDevice(token, payload).then(response => { 

     }); 
    } 
}); 
}); 

Aber, wie es dynamisch zu tun, das heißt, ich will Push-Benachrichtigung für den jeweiligen Benutzer senden, dieser Code die Benachrichtigung an alle Benutzer registriert sendet. So helfen Sie mir die statische ID (db Referenz) auf dynamische (db Referenz) zu ändern, und auch, wie unterschiedliche Inhalte für die Benachrichtigung in dieser Code-Zeilen weitergeben müssen:

const payload = { 
    notification: { 
     title: 'Test message', 
     body: 'Hope you are fine', 
     badge: '1', 
     sound: 'default', 
    } 
}; 

Wer dort leite mich auf das?

Antwort

0

Ich erreichte es dynamisch. Hoffe es hilft jemandem.

Hier ist mein Code:

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

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

var eventSnapshot = event.data; 
    var particularUser = eventSnapshot.child('City'); 
    if (particularUser.changed()) { 
     const payload = { 
       notification: { 
        title: 'Test message', 
        body: 'Hope you are fine', 
        badge: '1', 
        sound: 'default', 
       } 
      }; 

      var getToken = eventSnapshot.child('fcmToken'); 

        const token = Object.keys(getToken.val()); 
        return admin.messaging().sendToDevice(token, payload).then(response => { 

        }); 

    } 


}); 

Wenn die Benachrichtigung Inhalt zu ändern, können Sie es aus der Datenbank erhalten können, wenn Sie von App Seite aktualisieren.

Verwandte Themen