google-chrome - Chrome 推送通知几秒钟后消失

标签 google-chrome push-notification google-cloud-messaging push chrome-gcm

我正在构建一个系统来使用 Chrome 发送网络推送通知。当某人在台式电脑上收到我的推送通知时,他们会看到该通知大约 10 秒钟。如果他们不点击通知,该通知将在大约 10 秒后消失。

我看到其他网站发送的推送通知不会消失。我相信我没有使用某些设置来使我的消息保留在屏幕上,直到单击或退出。有人知道这个设置或参数吗?

最佳答案

看来您需要使用“requireInteraction”选项在服务工作线程中创建通知。只需将其设置为“true”即可表示您需要用户交互的浏览器。以下是执行此操作的方法。

...创建通知时在 Service Worker 脚本中:

self.addEventListener('push', function(e) {
    var notification = self.registration.showNotification(
        "Hi! Click me!",
        {
            requireInteraction: true,
            body: "I'm not going to disappear"
        }
    );
    e.waitUntil(notification);
});

另外不要忘记在点击事件时关闭它:

...稍后在服务工作线程脚本中:

self.addEventListener('notificationclick', function(e) {
    e.preventDefault();
    e.notification.close();

    // Do click actions
});

浏览器可比性:不幸的是,并不是每个人都支持此选项:Firefox 不支持。有关详细信息,请参阅 Mozilla 引用:https://developer.mozilla.org/en-US/docs/Web/API/notification/requireInteraction

但它在 Chrome 中运行良好。

关于google-chrome - Chrome 推送通知几秒钟后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43194394/

相关文章:

iOS 推送其他应用的通知

push-notification - 推送通知(重复?)

android - 每次应用程序启动时在 GCM 上注册设备是正确的方法吗?

android - cordova 3.3 中的用户推送通知

javascript - 使用 google chrome 开发者控制台时如何使变量在标签中可见

google-chrome - 在 chrome web inspector 中自动更新 websocket 框架

php - 接入点 : invalid token (8)

android - 无法在 Google Cloud Console 启用 "Google Cloud Messaging for Android"

firefox - Firefox 和 Chrome 之间的按钮宽度差异

css - 我的 php 表在 IE 中显示正常,但在 Chrome 中显示不正常