Я использую OneSignal для отправки push-уведомлений в свое приложение React Native.При получении уведомления я открываю экран Custom React Native, чтобы получить некоторую информацию от пользователя.
Я следовал инструкциям, указанным здесь:
https://documentation.onesignal.com/docs/react-native-sdk
https://documentation.onesignal.com/docs/react-native-sdk-setup
В этих двух руководствах в основном объясняется, как инициализировать OneSignal, уведомление о настройкепрослушиватели и другие необходимые собственные настройки.
После вышеописанной конфигурации я могу отправлять уведомления (и открывать пользовательский экран) в приложение на iPhone, но только если приложение находится на переднем плане.Приложение не получало уведомлений, если в фоновом режиме.
Затем я следовал статье Олега Калиты, приведенной ниже, и настроил:
https://hackernoon.com/complete-guide-receive-push-notifications-in-react-native-ios-app-38b1ec5b1b15
В нем объясняется, как настроить PushNotificationIOS RN.Пакет и настройка еще несколько функций и слушателей.Хотя я не совсем понимаю, зачем мне эти функции, если я уже настроил слушателей OneSignal.И как это повлияет на производительность моего приложения при слишком большом количестве прослушивателей.
После этой конфигурации я смогу получать уведомления (оно приходит в верхней части iPhone и исчезает через 2-3 секунды), даже если приложениев фоновом режиме.Но это не приводит мое приложение к фокусу и не отображает пользовательский экран.
Я ищу помощь в устранении проблемы и отображаю пользовательский экран, если приложение находится в фоновом режиме и получает уведомление.
Интересно, что слушателей OneSignal вызывают, и я также могу видеть отправленные данные в журналах, но я не уверен, как вызвать приложение IOS в фокусе.
В Android я могу дажеразблокировать телефон и поставить приложение в центр внимания при получении уведомления.Я написал собственный Android-код, используя пакеты Android PowerManager и WindowManager.Я вызываю этот нативный код из прослушивателя React Native OneSignal, чтобы разбудить телефон, сфокусировать приложение и отобразить пользовательский экран.
То же самое, чего я пытаюсь добиться в IOS.
Пожалуйста, кто может помочь.Я просмотрел много статей в сети, но не смог найти никакого решения.