Ionic 3无法通过node.js发送Onesignal推送通知

时间:2019-01-25 20:07:31

标签: node.js heroku push-notification ionic3 onesignal

我在Heroku中托管了带有node.js API后端的Ionic 3应用程序。我也想在OneSignal中使用推送通知。 到目前为止,我已经完成了安装过程和Ionic Cordova的实现。目前,我只能使用Onesignal信息中心接收通知。现在,我正在尝试使用node.js应用程序发送通知,但没有收到通知。

在我的node.js应用中,我有以下代码:

app.post('/api/push', function(req, res) {
var sendNotification = function (data) {
var headers = {
    "Content-Type": "application/json; charset=utf-8",
    "Authorization": "Basic xxxxxxx-my-onesignal-rest-api-key"
};

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:“ xxxx-my-app-id”,     内容:{“ en”:“示例消息”},     included_segments:[“全部”] };

sendNotification(message); });

在Heroku应用程序日志中的POST请求之后,我可以看到以下内容:

heroku[router]: at=info method=OPTIONS path="/api/push" host=xxxxxx.herokuapp.com request_id=xxxxx-xxx-xxxx fwd="xxx.xx.xx.xx" dyno=web.1 connect=0ms service=10ms status=200 bytes=215 protocol=https

因此,我可以看到POST请求成功,但仍无法在设备上收到通知。

0 个答案:

没有答案