Фоновые уведомления с использованием Ionic как смертный - PullRequest
0 голосов
/ 10 января 2019

Я уже несколько месяцев пытаюсь реализовать приложение, которое получает уведомления, содержимое которых я хочу сохранить в базе данных моего приложения. Я использую плагин Firebase Messagging и правильно получаю уведомления как на переднем, так и на заднем плане.

Однако в фоновом режиме я не могу выполнить свой обратный вызов без необходимости явного нажатия пользователем уведомления. Аналогично, нет возможности увеличить значок приложения, когда оно не открыто.

Теперь я не понимаю, как работают такие приложения, как WhatsApp, Telegram и любые другие, которые не создаются простыми смертными. Как это возможно, что они могут получать данные в фоновом режиме, управлять значками, синхронизировать сообщения и т. Д.? Будучи таковым, якобы службы вроде Firebase ограничены в фоновом режиме Даже с такими плагинами, как Фоновый режим , приложение закрывается Android, когда пользователь закрывает его.

Код, который я сейчас использую для обработки уведомлений, следующий:

// In foreground (WORKS)
this.firebaseMessaging.onMessage().subscribe((notificacion) => { 
    // Insert in DB
    ...
});

// In background (DOESN'T WORK)
this.firebaseMessaging.onBackgroundMessage().subscribe((notificacion) => {
    // Insert in DB
    ...
});

Какая альтернатива осталась? Единственное, что приходит мне в голову - это использовать уведомления на переднем плане и в фоновом режиме только как предупреждение. Поэтому каждый раз, когда я открываю приложение, мне приходится вызывать обратный вызов для синхронизации сообщений с сервером (с включенным управлением значками).

Если у кого-то есть какой-нибудь способ получше, я был бы очень признателен, если бы вы немного осветили предмет.

От уже большое спасибо

...