#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")
});