【问题标题】:Integrate One Signal API with Firebase Cloud Fuctions将一个 Signal API 与 Firebase 云函数集成
【发布时间】:2018-09-07 18:06:57
【问题描述】:

将 Onesignal API 与 Firebase 云函数集成

大家好,

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

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

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

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

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

【问题讨论】:

  • 嘿,我也想做同样的事情,你找到解决方案了吗?
  • 你找到解决办法了吗?

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


【解决方案1】:

希望回复不会太晚有用。

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

【讨论】:

  • 嗨,我在 firebase 控制台函数中收到此错误:{ Error: getaddrinfo ENOTFOUND onesignal.com onesignal.com:443 at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26) 代码:'ENOTFOUND',errno:'ENOTFOUND',系统调用:'getaddrinfo',主机名:'onesignal.com',主机:'onesignal.com',端口:443 }
猜你喜欢
  • 2020-07-08
  • 2018-10-04
  • 2018-06-02
  • 2017-12-24
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
相关资源
最近更新 更多