渐进式Web应用程序接收数据以触发通知

时间:2017-05-22 17:58:41

标签: node.js push-notification event-handling progressive-web-apps

你好,我是新手,我很难在服务工作者那里理解这个通知,因为我的知识不是很好但是我可能无法清楚地解释我的问题。

所以这里是代码:

// triggered everytime, when a push notification is received.
self.addEventListener('push', function(event) {

  console.info('Event: Push');

  var title = 'New commit on Github Repo: RIL';

  var body = {
    'body': 'Click to see the latest commit',
    'tag': 'pwa',
    'icon': './images/48x48.png'
  };

  event.waitUntil(
    self.registration.showNotification(title, body)
  );
});

这是触发POP通知的代码,我不明白接受/接收数据的参数在哪里?

我经常被搜查过:https://auth0.com/blog/introduction-to-progressive-web-apps-push-notifications-part-3/https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web  有一些新的数据JSON或来自git-server或push api,但我仍然很难理解接受数据的位置。

抱歉,如果您仍然不明白我的问题是什么。

这是为了让我想要的简单:

  1. 让我说我按下了一个按钮,每次点击按钮,它都会重视“真实”按钮。我希望那个' True'值传递给参数并触发service-worker中的通知推送。

  2. 第二个问题:我能否在html中触发带标题或文字的通知?因为我们可以用DOM操作文本吗?

  3. 我是否可以在没有GCM或API的情况下触发通知,因为我只想在上面的serivce-worker中进行简单的通知而不传递太多数据。

  4. 如果您提供更多建议或者没有服务工作人员但是实时通知,我很乐意阅读它,但我希望我能够理解。

1 个答案:

答案 0 :(得分:0)

基本上有两个概念可以很好地协同工作,但可以独立使用。第一个是向用户显示的可见UI,告诉他们信息或提示他们采取行动。第二种是从服务器向浏览器发送事件,而不要求用户当前在站点上处于活动状态。有关详细信息,我建议您阅读Google's Web Push docs

在其中任何一种情况之前,您必须来自用户request permission。获得许可后,您可以create a notification。无需服务器或服务工作者。

如果要从服务器发送事件,则需要服务工作者,并且您需要{}为用户get a subscription。订阅完成后,您可以将其发送到服务器,以便将事件发送到特定的浏览器实例。

从服务器收到推送事件后,display the UI与第一个场景中的推送事件相同,除非您必须从服务工作者那里完成。