Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. 'use strict';
  2.  
  3. const functions = require('firebase-functions'); //Constante para invocar o Firebase Cloud Functions
  4. const admin = require('firebase-admin'); //Constante para invocar o Firebase Admin SDK
  5. admin.initializeApp(functions.config().firebase); //Inicializar o Firebase com configurações do functions
  6.  
  7. exports.sendFollowerNotification = functions.database.ref('/mensagens/{idDestinatario}').onWrite(event => {
  8. const idDestinatario = event.params.idDestinatario;
  9. const conversa = event.data.val();
  10.  
  11. // Notification details.
  12. var texto = conversa.mensagem;
  13.  
  14. //Pegamos o FirebaseToken do nosso destinatário
  15. const getInstanceIdPromise = admin.database().ref(`/utilizadores/${idDestinatario}/FirebaseToken`).once('value');
  16. //Pegamos o nosso destinatario no Firebase Auth
  17. const getReceiverUidPromise = admin.auth().getUser(idDestinatario);
  18.  
  19. return Promise.all([getInstanceIdPromise, getReceiverUidPromise]).then(results => {
  20. const instanceId = results[0].val();//Pegar o instanceId
  21. const destinatario = results[1]; //E o utilizador que irá receber a mensagem
  22.  
  23. const payload = { //Criar a notificação
  24. notification: {
  25. title: destinatario.displayName+ " enviou-lhe uma mensagem",
  26. body: texto,
  27. icon: destinatario.photoURL
  28. }
  29. };
  30.  
  31. admin.messaging().sendToDevice(instanceId, payload) //enviar a notificação
  32. .then(function (response) {
  33. console.log("Mensagem enviada com sucesso:", response);
  34. })
  35. .catch(function (error) {
  36. console.log("Erro ao enviar a mensagem:", error);
  37. });
  38. });
  39. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement