Firebase Messaging в веб-браузерах IOS - PullRequest
0 голосов
/ 21 октября 2018

Push-уведомления Firebase для обмена сообщениями работают без проблем с веб-браузерами для настольных ПК и Android, но когда я тестировал их на устройствах IOS, не имело значения, какой браузер я использовал, уведомления и метод .getToken () не работали.Мой код JavaScript таков:

if ('Notification' in window) {
    var messaging = firebase.messaging();
    if (Notification.permission === 'granted') {
        subscribe();
    }

    $('#notify').on('click', function () {
        subscribe();
    });
}

function subscribe() {
    // запрашиваем разрешение на получение уведомлений
    messaging.requestPermission()
        .then(function () {
            // получаем ID устройства
            return messaging.getToken()
                .then(function (currentToken) {
                    console.log(currentToken);

                    if (currentToken) {
                        sendTokenToServer(currentToken);
                    } else {
                        console.warn('Не удалось получить токен.');
                        setTokenSentToServer(false);
                    }
                })
                .catch(function (err) {
                    console.warn('При получении токена произошла ошибка.', err);
                    setTokenSentToServer(false);
                });
        })
        .catch(function (err) {
            console.warn('Не удалось получить разрешение на показ уведомлений.', err);
        });

1 Ответ

0 голосов
/ 21 октября 2018

Все браузеры на iOS по сути являются обертками вокруг WebKit (движок браузера, который используется в Safari), поэтому они наследуют большинство своих функций и ограничений оттуда.К сожалению, Safari по-прежнему не поддерживает API Web Push, который необходим для облачных сообщений Firebase.

См. Также:

...