Я занимаюсь разработкой приложения для Ionic, и у меня возникла проблема с push-уведомлениями FCM на iOS.Я могу отправить уведомление, когда приложение находится в фоновом режиме или на переднем плане, но не когда приложение открыто.Кроме того, после нажатия на уведомление, оно не перенаправляет на другую страницу приложения и показывает только корневую страницу (в Android работает очень хорошо).
Итак, в iOS мне нужно получить данные уведомлений и правильно перенаправить.
Это приложение Ionic v4 со встроенным кодом Android и iOS.Я использую этот фрагмент кода для получения данных уведомления
this._fcm.onNotificationOpen().subscribe(
msg => {
(this.platform.is('ios')) ? ((msg.aps && msg.aps.alert) ? this._toast.presentToast(msg.aps.alert) : this._toast.presentToast(msg.body)) : this._toast.presentToast(msg.body);
if (msg.title && msg.title === '¡Ayuda!' && msg.origin) {
this._fcm.getData('token', msg.origin).subscribe(
(res: any) => {
this.getContactData(res);
}
);
}
});
В функции getData я получаю некоторые данные в Firebase с помощью токена.Этот токен устанавливается в данных уведомления, поэтому, когда я получаю данные в res, функция getContactData принимает значения res и перенаправляет их на страницу справки с контактными данными.
Но когда я отлаживаю встроенный код iOS, я получаюэти ошибки в консоли XCode:
2019-07-09 00:58:33.317597-0400 MuniConceApp[1469:254931] 5.7.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see https://help.apple.com/xcode/mac/8.0/)
2019-07-09 00:58:33.343859-0400 MuniConceApp[1469:254915] 5.7.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
Изображение уведомления:
На этом изображении уведомление отображается на iOS, но когда я нажимаю на это уведомление,страница справки не открывается и показывает только корневую страницу (домашнюю).