FCM
からnode.js
サーバーから通知を送信する方法はありますか?
私はドキュメント内でそれについて何も見つけていません。
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年4月):Cloud Functions for Firebaseでこれと非常によく似たコードを実行できるようになりました。 https://firebase.google.com/docs/functions/use-cases#notify_users_when_something_interesting_happens を参照してください
//I done by this code using node- gcm module.
//We're using the express framework and the node-gcm wrapper
var express = require('express');
var gcm = require('node-gcm');
//init express
var app = express();
app.get('/Push', function (req, res) {
var message = new gcm.Message({
data: { key1: 'hello' },
notification: {
title: 'SPECOZ Offers1',
body: 'body_data'
}
});
// Set up the sender with you API key, prepare your recipients' registration tokens.
var sender = new gcm.Sender('Api_Key');
sender.send(message, 'device_token', function (err, response) {
if (err) {
console.error("Error:", err);
}
else console.log("Response:", response);
res.send(response);
});
});
app.listen("pass the port number");