Ответ 1
Отправка сообщений через Firebase Cloud Messaging требует вызова конечной точки HTTP, как описано в документации при отправке сообщений ниже по течению.
Что-то простое, как это могло бы сделать трюк:
var request = require('request');
function sendMessageToUser(deviceId, message) {
request({
url: 'https://fcm.googleapis.com/fcm/send',
method: 'POST',
headers: {
'Content-Type' :' application/json',
'Authorization': 'key=AI...8o'
},
body: JSON.stringify(
{ "data": {
"message": message
},
"to" : deviceId
}
)
}, function(error, response, body) {
if (error) {
console.error(error, response, body);
}
else if (response.statusCode >= 400) {
console.error('HTTP Error: '+response.statusCode+' - '+response.statusMessage+'\n'+body);
}
else {
console.log('Done!')
}
});
sendMessageToUser(
"d7x...KJQ",
{ message: 'Hello puf'}
);
Обновление (апрель 2017 г.): теперь вы можете также запустить код, очень похожий на это в Cloud Functions for Firebase. См. https://firebase.google.com/docs/functions/use-cases#notify_users_when_something_interesting_happens