Deeplink работает, когда приложение в фоновом режиме, но нет, когда оно убито - PullRequest
0 голосов
/ 18 декабря 2018

я использую плагин ionic deeplink ionic-plugin-deeplinks он отлично работает для Android, но так как он не работал на ios, я вынужден установить еще один плагин cordova-deeplink и cordova-universal0links-plugin .package.json:

"@ ionic-native / deeplinks": "^ 4.16.0",

"cordova-deeplink": "git + https://github.com/foneclay/cordova-universal-links-plugin.git#2.3.1","cordova-universal-links-plugin ":" 1.2.1 ", поэтому в моем component.ts:

platform.ready().then(() => {
      if (this.platform.is('android')) {
        this.deeplinks.routeWithNavController(this.nav, {
          '/e-training/course_overview/:courseID': CourseDetailsPage,
           .......
        }).subscribe((match) => {
          console.log('Successfully routed', match);
        }, (nomatch) => {
          console.log('Unmatched Route', nomatch);
        });
      } else {
        if (this.platform.is('ios')) {
          universalLinks.subscribe('openApp', this.onAppRequest.bind(this));
          universalLinks.subscribe('openPage', this.onPageRequest.bind(this));
        }
      }
    });

config.xml:

<universal-links>
        <host event="openApp" name="example.com" scheme="https">
            <path event="openPage" url="/" />
        </host>
</universal-links>

все работает нормальноAndroid, но в ios работает только тогда, когда приложение все еще в фоновом режиме, когда я убиваю приложение (прекращаю его) и нажимаю на любую ссылку, которой я поделился через приложение, это открывает домашнюю страницу приложения, не углубляясь в детали.

Ionic:

  • ionic (Ionic CLI): 4.0.2
  • Ionic Framework: ионно-угловой
  • 3.9.2 @ionic/ app-scripts: 3.2.0

Cordova:

  • cordova (Cordova CLI): 8.1.2 (cordova-lib@8.1.1)
  • Платформы Cordova: недоступно

Система:

  • Инструменты Android SDK: 25.2.5
  • NodeJS: v8.9.3
  • npm: 5.4.2
  • ОС: Windows 10

1 Ответ

0 голосов
/ 18 декабря 2018

Я только что удалил плагин cordova-deeplink и cordova-universal-links-plugin и все, что с ним связано: как я удалил теги <universal-links>....</universal-links> в config.xml икод в app.component.ts связан с разделом ios и заменен следующим:

//this.platform.is('android') || this.platform.is('ios')
this.deeplinks.routeWithNavController(this.nav, {
  '/e-training/course_overview/:courseID': CourseDetailsPage,
     ...
  }).subscribe((match) => {
    console.log('Successfully routed', match);
  }, (nomatch) => {
    console.log('Unmatched Route', nomatch);
  });
...