Гибридное приложение гибридизируется при открытии с помощью push-уведомления

#ios #apple-push-notifications #capacitor

Вопрос:

У меня есть приложение для iOS angular/capacitor, которое может получать push-уведомления и управлять ими с помощью события конденсатора:

 // Method called when tapping on a notification
PushNotifications.addListener('pushNotificationActionPerformed',
  async (action: ActionPerformed) => {
      await this.router.navigateByUrl('url/to/go')
      console.log('logic done);
  }
);
 

То, что происходит с касанием, абсолютно уникально: журналы подтверждают, что мои действия выполнены, но в моем приложении ничего не происходит, пока я не коснусь какой-либо части пользовательского интерфейса. Затем маршрут правильно обновится до пункта назначения.
Протестировано в iPhone 6 iOS 12.5

Как такое может быть?

Ответ №1:

Я нашел решение самостоятельно: по какой-то причине ? не могу объяснить, что мне нужно завернуть инструкцию маршрутизатора в службу NgZone:

this.NgZone.run (() = > this.router.navigateByUrl(путь));

Если кто-нибудь сможет это объяснить, я буду признателен 🙂