How to send Firebase Cloud Messaging from a node server?

前端 未结 3 1973
名媛妹妹
名媛妹妹 2020-11-29 01:47

Is there any way to send notifications from FCM from a node.js server?

I haven\'t found anything about it inside documentation.

相关标签:
3条回答
  • 2020-11-29 02:14
    //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");
    
    0 讨论(0)
  • 2020-11-29 02:16
    const admin = require('firebase-admin');
      const payload = { 
       notification: {
            title: 'this is title', body: 'this is body'
        },
       data: {
               balance: 100,
              priceplanId: 1235 
      }
    }  
    const deviceToken ='yourtoekn' | ['yourtoekn'];
    admin.messaging().sendToDevice(deviceToken, newpayload)
                    .then((_response) => console.log(_response))
                    .catch(error => console.log(error));
    

    emphasized text You can send a notification to both ios and Android devices;

    0 讨论(0)
  • 2020-11-29 02:18

    Sending messages through Firebase Cloud Messaging takes calling an HTTP end point as described in the documentation on sending downstream messages.

    Something as simple as this could do the trick:

    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'}
    );
    

    Update (April 2017): you can now also run code very similar to this in Cloud Functions for Firebase. See https://firebase.google.com/docs/functions/use-cases#notify_users_when_something_interesting_happens

    0 讨论(0)
提交回复
热议问题