Firebase Notifcation [IOS] не работает, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 26 февраля 2019

Использование:

Консоль xcode показывает:

  • приложение входит в фон
  • Установить фон состояния
  • Отключено от FCM

Что у меня есть:

  • Включение push-уведомлений в приложении (https://developer.apple.com/)
  • Все ключи / Сертификаты

Я получаю идентификатор токена на iphone,поэтому я полагаю, что это работает, но я не уверен, так как, когда вы получаете уведомление с открытым приложением, оно показывает уведомление (также, если кто-то знает, как это исправить, я был бы признателен), но мой вопрос заключается в том, как остановить отключениеплагин FCM, когда приложение переходит в фоновый режим.

Только код, который у меня есть

function onDeviceReady() {
        // Handle the Cordova pause and resume events
        document.addEventListener( 'pause', onPause.bind( this ), false );
        document.addEventListener('resume', onResume.bind(this), false);

        function checkConnection() {
            var networkState = navigator.connection.type;

            var states = {};
            states[Connection.UNKNOWN] = 'Ligação desconhecida';
            states[Connection.ETHERNET] = 'Ethernet connection';
            states[Connection.WIFI] = 'WiFi connection';
            states[Connection.CELL_2G] = 'Cell 2G connection';
            states[Connection.CELL_3G] = 'Cell 3G connection';
            states[Connection.CELL_4G] = 'Cell 4G connection';
            states[Connection.CELL] = 'Cell generic connection';
            states[Connection.NONE] = 'Sem ligação a internet';

            if (states[networkState] === states[Connection.NONE]) {
                alert("A aplicação necessida de internet para funcionar correctamente");
            }
        }

        FCMPlugin.getToken(function (token) {
            myToken = token;
            alert(token);
        }, function (error) {
            console.error(error);
        });

    }

1 Ответ

0 голосов
/ 02 марта 2019

Для этого вам может понадобиться фоновая служба

https://github.com/anrip/cordova-plugin-background-service

document.addEventListener("pause", function(){
   window.BackgroundService.start(
       function(fn) { 
            //subscribe to your topic here
            FCMPlugin.subscribeToTopic('topicExample');
       },
       function() { console.log('err') }
   );
});
...