将One Signal API与Firebase云功能集成

时间:2018-03-28 22:06:41

标签: javascript firebase mobile google-cloud-functions onesignal

将Onesignal API与Firebase云功能集成

大家好,

我想为使用实时firebase数据库的移动应用程序(Android,iOS)启用推送通知,此时此刻我从两个平台Android / iOS发送带有一个信号的推送通知,但我想要从firebase云功能执行此任务。

我知道有一个针对JS的信号sdk,但是我有问题要弄清楚如何配置我的云功能,因为这不像其他普通服务器那样的服务器。相反,正如我所看到的,它是一个上传脚本的界面。

所以我对此感到困惑,甚至更多因为我是一名移动开发人员,我对使用JS和云的这种架构并没有太多的了解。

我只需要一个线索就可以弄清楚如何实现它,或者知道这个想法是否可行,或者我必须考虑其他解决方案。

我非常感谢你的帮助和支持。

1 个答案:

答案 0 :(得分:0)

希望回复的时间不会太晚。

您应该可以使用与OneSignal documentation

中提供的NodeJS代码非常相似的内容
var sendNotification = function(data) {
  var headers = {
    "Content-Type": "application/json; charset=utf-8",
    "Authorization": "Basic NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj"
  };

  var options = {
    host: "onesignal.com",
    port: 443,
    path: "/api/v1/notifications",
    method: "POST",
    headers: headers
  };

  var https = require('https');
  var req = https.request(options, function(res) {  
    res.on('data', function(data) {
      console.log("Response:");
      console.log(JSON.parse(data));
    });
  });

  req.on('error', function(e) {
    console.log("ERROR:");
    console.log(e);
  });

  req.write(JSON.stringify(data));
  req.end();
};

var message = { 
  app_id: "5eb5a37e-b458-11e3-ac11-000c2940e62c",
  contents: {"en": "English Message"},
  include_player_ids: ["6392d91a-b206-4b7b-a620-cd68e32c3a76","76ece62b-bcfe-468c-8a78-839aeaa8c5fa","8e0f21fa-9a5a-4ae7-a9a6-ca1f24294b86"]
};

sendNotification(message);