需要互動通知 - 電腦上的通知使用者體驗更流暢

自從在 Chrome 中推出通知功能及推送訊息,我們學到了不少知識。一 給予電腦課程裝置的意見回饋, 會在使用者的螢幕上停留並持續顯示,直到使用者主動關閉為止。

開啟網頁時,可以建立簡單的 JavaScript 計時器,自動 關閉通知。但我們現在與 Service Worker 息息相關:網頁應用程式可 超過窗戶的生命週期,而服務工作人員會盡快進入睡眠狀態 以節省資源也就是說,我們需要另一種方式為使用者打造良好的體驗。

「通知規格」最近已更新,讓開發人員能夠 指出系統不應自動關閉通知

通知有一個相關聯的需要互動偏好設定標記, 未設定。如果設定這項政策,表示裝置螢幕的尺寸夠大。 保持可用狀態,直到使用者啟用或關閉通知為止。

這可能看起來有點奇怪,不過除非另有說明 不久後就會停止顯示

Chrome 47 (2015 年 10 月的 Beta 版) 現在支援 requireInteraction 選項。除非明確表示 將「且」設為 true,系統將在以下時間過後關閉電腦上的所有通知 約 20 秒。但有趣的部分是 近期才將通知中心從所有電腦平台 (但 ChromeOS) 中移除,這代表 最小化的通知視為關閉,而且無法在呼叫 getNotifications 中存取 實作在 Service Worker 中

在 Chrome for Android 中,由於通知匣區會最小化通知,因此 系統會忽略 requireInteraction 選項。

navigator.serviceWorker.register('sw.js');

function showNotifications() {
    Notification.requestPermission(function(result) {
    if (result === 'granted') {
        navigator.serviceWorker.ready.then(function(registration) {
        registration.showNotification('requireInteraction: true', {
            body: 'Requires interaction',
            icon: '../images/touch/chrome-touch-icon-192x192.png',
            requireInteraction: true,
            tag: 'require-interaction'
        });

        registration.showNotification('requireInteraction: false', {
            body: 'Does not require interaction',
            icon: '../images/touch/chrome-touch-icon-192x192.png',
            requireInteraction: false,
            tag: 'no-require-interaction'
        });
        });
    }
    });
}

立即試用