Как реализовать уведомление pu sh в приложении Ka iOS - PullRequest
3 голосов
/ 19 февраля 2020

Я пытаюсь реализовать уведомление pu sh в приложении Ka iOS. Я просто следую за ссылками ниже.

После перехода по всем ссылкам pu sh работает в браузере, но не в приложении Ka iOS , Если у кого-нибудь есть пример кода или документы, пожалуйста, поделитесь.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

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) файл работника службы 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) Добавить работника службы при запуске приложения

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, например кнопки

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);
                        }
                    });
                })
            }
        }
    });
}

Вот и все.

0 голосов
/ 23 апреля 2020

У меня была та же проблема, что и у этого, но я следовал этому простому методу веб-пу sh,

https://medium.com/@seladir / how-to-реализовать-web-pu sh-уведомления -in-your-node-реагировать-app-9bed79b53f34

, а также я исправил эту проблему, и теперь она работает правильно. пожалуйста, не забудьте добавить разрешения, как показано ниже, в файл manifest.webapp.

"permissions": {
    "serviceworker": {
        "description": "Needed for assocating service worker"
    },
    "desktop-notification": {
        "description": "Needed for creating system notifications."
    },
    "notifications": {},
    "push": {
        "description": "Required for being updated with new goals in soccer matches"
    },
    "geolocation": {
        "description": "Marking out user location"
    },
    "alarms": {
        "description": "Scheduling alarms"
    }
},

, а также, пожалуйста, обратитесь к этой документации ka ios для запуска приложения на устройстве ka ios.

https://developer.kaiostech.com/getting-started/build-your-first-hosted-app/pwa-to-hosted-app

...