如何根据使用Firebase的REST API中的数据在Android上发送推送通知?

时间:2017-05-09 10:48:52

标签: android rest firebase firebase-cloud-messaging

我已成功设置Firebase和我的Android应用程序一起工作。我可以从Firebase控制台发送通知并完美收到。但是,这不是我想要的,我想发送通知,具体取决于我从JSON格式的REST API收到的数据(我使用的是USGS API)。所以我想在发生大地震时通知我的用户。我该如何实现这一目标?我对这一切都很陌生,如果你能帮助我,那将是很棒的。

2 个答案:

答案 0 :(得分:3)

在您的应用中实施Firebase后,您将收到refreshedToken,您需要将其发送到您的Web服务器,以便它具有更新的令牌。 并在Web上实现您自己的部分,以便在以下过程的帮助下发送推送通知 https://firebase.google.com/docs/cloud-messaging/admin/send-messages

答案 1 :(得分:1)

您可以使用node.js脚本实现目标。

请按照以下说明操作: 1.安装fcm节点

npm install fcm-node
  1. 粘贴代码&保存名称为" fcm_demo"扩展名为.js

    var FCM = require('fcm-node');
    var serverKey = 'YOURSERVERKEYHERE'; //put your server key here 
    var fcm = new FCM(serverKey);
    
    var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera) 
    to: 'registration_token', 
    data: {  //you can send only notification or only data(or include both) 
               my_key: 'my value',
               my_another_key: 'my another value'
          }
    };
    
    fcm.send(message, function(err, response)
    {
      if (err)
     {
       console.log("Something has gone wrong!");
     } 
      else 
     {
        console.log("Successfully sent with response: ", response);
     }
    });
    
  2. 要记住的几点: -

    您将从已注册项目的Firebase控制台获取服务器密钥。 (只需在那里搜索..)。

    您将从refreshedToken获得注册令牌。

    在安装fcm-node之前,您的计算机必须预先安装node.jsnpm。如果您之前没有安装node.js和npm,请先安装这些组件&然后安装fcm-node。

    由于您希望根据从JSON格式的REST API收到的数据发送通知,只需在上面data脚本的node.js部分中复制您的JSON格式。

    从终端运行上面的脚本

    node fcm_demo.js
    

    如果一切顺利,您将收到通知。

    感谢。 ;)