Я уже несколько месяцев пытаюсь реализовать приложение, которое получает уведомления, содержимое которых я хочу сохранить в базе данных моего приложения. Я использую плагин 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
...
});
Какая альтернатива осталась? Единственное, что приходит мне в голову - это использовать уведомления на переднем плане и в фоновом режиме только как предупреждение. Поэтому каждый раз, когда я открываю приложение, мне приходится вызывать обратный вызов для синхронизации сообщений с сервером (с включенным управлением значками).
Если у кого-то есть какой-нибудь способ получше, я был бы очень признателен, если бы вы немного осветили предмет.
От уже большое спасибо