я использую плагин 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