将 One Signal API 与 Firebase Cloud Functions 集成

Integrate One Signal API with Firebase Cloud Fuctions

将 Onesignal API 与 Firebase 云函数集成

大家好,

我想为使用实时 firebase 数据库的移动应用程序(Android、iOS)启用推送通知,此时我正在从两个平台发送推送通知Android/iOS 有一个信号,但我想通过 firebase 云功能完成这项任务。

我知道有一个用于 JS 的 onesignal sdk,但我无法弄清楚如何配置我的云功能,因为这不是像其他普通服务器那样的服务器。相反,正如我所见,它是一个上传脚本的界面。

所以我对此感到困惑,更因为我是一名移动开发人员,我对这种带有 JS 和云的架构没有太多经验。

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

非常感谢您的帮助和支持。

希望回复不会太迟。

您应该能够使用与 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);