Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- const functions = require('firebase-functions'); //Constante para invocar o Firebase Cloud Functions
- const admin = require('firebase-admin'); //Constante para invocar o Firebase Admin SDK
- admin.initializeApp(functions.config().firebase); //Inicializar o Firebase com configurações do functions
- exports.sendFollowerNotification = functions.database.ref('/mensagens/{idDestinatario}').onWrite(event => {
- const idDestinatario = event.params.idDestinatario;
- const conversa = event.data.val();
- // Notification details.
- var texto = conversa.mensagem;
- //Pegamos o FirebaseToken do nosso destinatário
- const getInstanceIdPromise = admin.database().ref(`/utilizadores/${idDestinatario}/FirebaseToken`).once('value');
- //Pegamos o nosso destinatario no Firebase Auth
- const getReceiverUidPromise = admin.auth().getUser(idDestinatario);
- return Promise.all([getInstanceIdPromise, getReceiverUidPromise]).then(results => {
- const instanceId = results[0].val();//Pegar o instanceId
- const destinatario = results[1]; //E o utilizador que irá receber a mensagem
- const payload = { //Criar a notificação
- notification: {
- title: destinatario.displayName+ " enviou-lhe uma mensagem",
- body: texto,
- icon: destinatario.photoURL
- }
- };
- admin.messaging().sendToDevice(instanceId, payload) //enviar a notificação
- .then(function (response) {
- console.log("Mensagem enviada com sucesso:", response);
- })
- .catch(function (error) {
- console.log("Erro ao enviar a mensagem:", error);
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement