gpt4 book ai didi

kaios - 如何在 KaiOS 应用中实现推送通知

转载 作者:行者123 更新时间:2023-12-03 23:08:51 24 4
gpt4 key购买 nike

我正在尝试在 KaiOS 应用中实现推送通知。我只是按照下面的链接。

  • W3C Push API
  • Push API introduction
  • Service Worker Cookbook - Web Push Payload

  • 按照所有链接后,推送在浏览器中有效,但在 KaiOS 应用程序中无效。
    如果有人有任何示例代码或文档,请分享。

    任何帮助都将得到认可。

    最佳答案

    1) 首先在manifest.webapp中添加这个权限

        "permissions": {
    "serviceWorker":{
    "description": "required for handle push."
    },
    "push":{
    "description": "New update push."
    },
    "desktop-notification": {
    "description": "New content update notification for the user."
    }
    }

    2) service worker 文件 sw.js代码
    self.addEventListener('push', function(event) {
    event.waitUntil(
    self.registration.showNotification('My Push', {
    body: 'Push Activated',
    })
    );
    });

    self.addEventListener('activate', e => {
    self.clients.claim();
    });

    3)在应用程序启动时添加服务 worker
    registerSW : function() {
    if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('./sw.js').then(function(reg) {
    console.log('Service Worker Registered!', reg);
    reg.pushManager.getSubscription().then(function(sub) {
    if (sub === null) {

    } else {
    console.log('Subscription object: ', sub);
    }
    });
    }).catch(function(e) {
    console.log('SW reg failed');
    });
    }
    }

    4) 通过任何 dom 元素(如按钮)调用 service worker
    registerServiceWorker: function() {
    Notification.requestPermission().then(function(permission) {
    if (permission === 'granted') {
    if ('serviceWorker' in navigator) {
    navigator.serviceWorker.ready.then(function(reg) {

    reg.pushManager.subscribe({
    userVisibleOnly: true
    }).then(function(sub) {
    console.log('Endpoint URL: ', sub.endpoint);

    }).catch(function(e) {
    if (Notification.permission === 'denied') {
    console.warn('Permission for notifications was denied');
    } else {
    console.error('Unable to subscribe to push', e);
    }
    });
    })
    }
    }
    });
    }

    就是这样。

    关于kaios - 如何在 KaiOS 应用中实现推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60304889/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com