Я реализовал тихие уведомления для обеих платформ. Основываясь на документации OneSignal, в Android мне пришлось добавить класс NotificationServiceExtender, а в IOS мне нужно было только отправить из REST API content_available: true
Обычные уведомления работают на обеих платформах, но в режиме без вывода сообщений IOS не запускаются:
OneSignal.shared
.setNotificationReceivedHandler((OSNotification notification) async {
print(notification);
}
В AppDelegate я сделал тест, если что-то возвращается из OneSignal, и кажется, что данные возвращаются:
override func application(_ application: UIApplication, didReceiveRemoteNotification
userInfo: [AnyHashable : Any]) {
print(userInfo)
}
Я не Не знаю, есть ли другой метод на FLutter от OneSignal, который может быть запущен, или я должен сделать канал для IOS и получить данные. Это может осложнить ситуацию.
Также я должен отметить, что Silent Notification работают на Android устройствах.
Пакет: onesignal_flutter: ^2.0.0