Отправка уведомлений с помощью firebase cloud messaging по теме с помощью node js

#android #node.js #firebase-cloud-messaging

#Android #node.js #firebase-облако-обмен сообщениями

Вопрос:

Я внедрил firebase cloud messaging, который отправляет уведомление на устройство Android на основе его токена устройства, который работает нормально.

но я хочу отправить уведомление в тему, что вызывает проблемы с выполнением.

 'use strict';
exports.send_push = function(push_array) {
    var FCM = require('fcm-node');
    var fcm = new FCM("SERVER KEY HERE");
    var message = {//this may vary according to the message type (single recipient, multicast, topic, et cetera)
        to: 'MY TOPIC TOKEN',
//        to: "/topics/foo-bar",
        //collapse_key: 'your_collapse_key',
        notification: {
            title: 'Notification title',
            body: 'this is body'
        },
        data: {//you can send only notification or only data(or include both)
            message: "Hello, This is test notification...!"
        }
    };

    fcm.send(message, function(err, response) {
        if (err) {
            console.log("Something has gone wrong!", err);
        } else {
            console.log("Successfully sent with response: ", response);
        }
    });
}
  

Кто-нибудь может помочь отправить уведомление по теме … здесь указаны токен темы и ключевые данные сервера.

Комментарии:

1. Какую ошибку вы получаете?

2. извините за поздний ответ, на самом деле он возвращается только с success=0 . Я думаю, что этот скрипт не будет работать для темы. нам потребуются некоторые изменения в нем. Это то, о чем я спрашивал.

Ответ №1:

это работает идеально!

 var FCM = require('fcm-node');

var serverKey = 'server-key';
var DeviceRegistrationToken = 'reg-token';
var topic1 = '/topics/global';
var fcm = new FCM(serverKey);

var message = { 
 to: topic1,  // either DeviceRegistrationToken or topic1
 notification: {
     title: 'Test message', 
     body: 'Hello Nodejs' 
 },

};

router.route('/push')                        
.get(function(req, res, next) {

fcm.send(message, function(err, response){
if (err) {
    console.log(err);
} else {
       console.log("Successfully sent with response: ", response);
    }
 });

res.send("notification sent")

});