Así que estoy usando el paquete fcm-node para enviar notificaciones desde la ruta Express api a la aplicación usando un token de registro.
La función es:
const FCM = require('fcm-node'); const serverKey = ... const fcm = new FCM(serverKey); function sendNotification(registrationToken, title, body, dataTitle, dataBody) { const message = { to: registrationToken, notification: { title: title, body: body }, data: { title: dataTitle, body: dataBody } }; fcm.send(message, (err, response) => { if (err) console.log('Error ', err) else console.log('response ', response) }); }; module.exports = { sendNotification };
Me aseguré de que si está fuera de la función, el sistema de notificación se está ejecutando. Ahora en el punto final de API:
const sendNotification = require('../sendNotification'); router.get('/test', async (req, res, next) => { sendNotification('...', 'hi', 'bye','1', '2'); return res.send(200) };
Sigo recibiendo el error "sendNotification" no es una función. ¿Cuál es la causa de esto?
prueba esto:
module.exports = sendNotification
y usarlo así:
const sendNotification = require('../sendNotification');
Expresión require('../sendNotification');
le está dando un objeto (porque exportó un objeto en este archivo), así que extraiga lo que necesita.
const { sendNotification } = require('../sendNotification');