通过 GCM 在 Progressive Web 应用程序中推送通知

Posted

技术标签:

【中文标题】通过 GCM 在 Progressive Web 应用程序中推送通知【英文标题】:Push notifications in Progressive web app through GCM 【发布时间】:2016-04-14 09:54:41 【问题描述】:

在发送推送通知时,我收到了(未捕获(承诺中)ReferenceError: require is not defined(...)) 错误。这是我的代码

 const endPoint = subscription.endpoint.slice(subscription.endpoint.lastIndexOf('/')+1);
console.log(endPoint);
var gcm = require('node-gcm');
var message = new gcm.Message(
    notification: 
        title: "Hello, World",
        icon: "ic_launcher",
        body: "This is a notification that will be displayed ASAP.",
        tag:"hello"
    
);

var regTokens = [endPoint];
  var sender = new gcm.Sender('AIzaSyD9Bcxd_MQZFoGjO1y_hPm-xUdgnM25Ny4'); //API Key
  // Now the sender can be used to send messages
  sender.send(message,  registrationTokens: regTokens , function (error, response) 
   if (error) 
      console.error(error);
      res.status(400);
    
   else 
      console.log(response);
      res.status(200);
    
  );
      )
    )

错误截图 enter image description here

【问题讨论】:

您不能在浏览器中使用require。如果您从事混合应用程序开发,则需要安装插件 PushNotification,然后您可以在此处进一步查看文档https://github.com/phonegap-build/PushPlugin.git Send push notifications thorugh GCM in progessive web apps的可能重复 【参考方案1】:

此代码使用require,因此在我看来,您正在尝试在浏览器中使用节点代码。为此,您需要使用Browserify 之类的东西,尽管我不确定这是否适用于node-gcm,因为它可能对发送没有跨源限制的网络请求等有某些要求。

【讨论】:

以上是关于通过 GCM 在 Progressive Web 应用程序中推送通知的主要内容,如果未能解决你的问题,请参考以下文章

第一个progressive web application,发车!

接收 Intent 到 Progressive Web App

用于Progressive Web Apps的2个按钮的Android推送通知?

Progressive Web App

Progressive Web Apps入门

Progressive Web Apps入门