Я использую OneSignal
в Ionic 3
для отправки уведомления pu sh. Мое требование очень простое, мне просто нужно перенаправить пользователя на страницу и изменить слайд на основе параметра type
, который я отправляю в полезных данных уведомления.
Мой код работает, если приложение открыто или свернуто, но не работает, если приложение закрыто.
Ниже приведен фрагмент кода из app.component.ts
, который находится внутри конструктора
Я также пробовал чтобы добавить приведенный ниже код в platform.ready
, но с тем же результатом.
this.oneSignal.startInit('##################################');
this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.Notification);
this.oneSignal.handleNotificationReceived().subscribe((resp) => {
this.isNotification = true;
});
this.oneSignal.handleNotificationOpened().subscribe((resp) => {
this.isNotification = true;
setTimeout(() => {
this.events.publish('notification:slidechange', resp.notification.payload.additionalData.type);
}, 500)
});
this.oneSignal.endInit();
После получения события я вызываю функцию, которая меняет слайд на соответствующий номер, но не может изменить слайд, если приложение закрыто.
Я добавил функцию console.log()
в goToSlide()
, которая успешно печатает сообщение.
events.subscribe('notification:slidechange', (slide) => {
this.goToSlide(slide);
})
goToSlide(number) {
window.scrollBy(500, 0);
this.slides.slideTo(number, 700);
this.fireSlideChangeEvent(number)
}
Мне просто нужно понять, что мешает приложению изменить слайд, если приложение было закрыто и открыто нажатием на уведомление.