編集

Safari 18.5 リリース

Safari 18.5 がリリース。Declarative Web Push が macOS で利用可能になった他、バグ修正や Web Extensions の改善も行われている。

出展:WebKit Features in Safari 18.5

#Declarative Web Push on macOS

Declarative Web Push が macOS で利用可能になった。Service Worker 不要で Web Push 通知を実装できる。バッテリー効率とプライバシーが向上し、標準化された JSON 形式で通知を送信可能。従来の Web Push と異なり、通知表示の失敗による制限やペナルティが不要。未対応ブラウザにも後方互換性あり。

次のように Service Worker を使わずに Web Push Subscription を管理できる。

js
const subscription = await window.pushManager.subscribe({
  userVisibleOnly: true,
  applicationServerKey: arrayForPublicKey,
});

通知は次のように標準化された JSON 形式が用いられる。これにより未対応ブラウザでは従来通り Service Worker で処理される

jsonc
{
  // RFC 8030に由来する識別子
  "web_push": 8030,
  "notification": {
    "title": "Webkit.org — Meet Declarative Web Push",
    "lang": "en-US",
    "dir": "ltr",
    "body": "Send push notifications without JavaScript or service worker!",
    // 通知クリック時の遷移先URL
    "navigate": "https://webkit.org/blog/16535/meet-declarative-web-push/",
    "silent": false,
    "app_badge": "1"
  }
}

参考:

編集