Беззвучные уведомления - получение уведомлений в фоновом режиме без нажатия на уведомление
Я использую ионное приложение с плагином phonegap-plugin-push (v2.1.0) для получения push-уведомлений на моем Android устройстве iOS.
Пока это работает. Когда мое приложение находится в фоновом режиме, и я отправил уведомление, уведомление будет отправлено в системный трей устройства в качестве системного уведомления. Когда я нажимаю на системное уведомление, оно появляется внутри моего приложения.
Так что на самом деле слушатель этого события будет срабатывать:
this.pushObject.on('notification').subscribe(notification => {
....
});
Но если я не нажму на системное уведомление, а вместо этого нажму на значок приложения, чтобы открыть мое приложение, уведомление не будет доставлено в мое приложение. Так что слушатель этого события, похоже, не сработал.
Я нашел возможное решение, которое будет использовать метод Finish:
this.pushObject.on('notification').subscribe(notification => {
....
this.pushObject.finish(notification.additionalData.notId);
});
Также мне следует отправить "content_available": "1" для Android и "content_available": 1 для iOS, а также идентификатор уведомления (notId) для iOS (только для iOS???)
Но ничего не работает.
У кого-нибудь есть решение этой проблемы?
1 ответ
Согласно Readme плагина:
Примечание: если полезная нагрузка содержит контент-доступен: 1, ваш обработчик событий уведомления уже был вызван. Это зависит от вас, чтобы справиться с двойным событием.
Поэтому, когда вы запускаете приложение, событие уже было вызвано, и вы больше не видите его при повторном открытии приложения.
Я почти уверен, что по вашему замыслу ваше push-событие не будет срабатывать при открытии приложения из значка вместо самого уведомления.