管理为Ionic安装和设置本机深层链接模块。
应用程序即使在完全关闭的冷态下也能正常加载。
但是,我的路线并未将我带到正确的页面。它只显示应用程序的最后一页,如果它从冷状态启动应用程序,则显示主页面。
app.component.ts
Cordova-plugin-mauron85-background-geolocation
控制台日志显示:
watchPosition
app.module.ts
...
import { Deeplinks } from '@ionic-native/deeplinks';
import { Detail1Page } from '../pages/layout/app1/detail1/detail1';
...
constructor(private deeplinks: Deeplinks.........
...
this.platform.ready().then(() => {
this.splashScreen.hide();
this.deeplinks.route({
'/item/:itemId': Detail1Page
}).subscribe((match) => {
console.log('Successfully matched route', JSON.stringify(match));
}, (nomatch) => {
console.error('Got a deeplink that didn\'t match', JSON.stringify(nomatch));
});
}
...
detail1.ts
Successfully matched route {"$args":{"itemId":"9"},"$link":{"path":"/item/9","queryString":"","fragment":"","host":"my.app.com","url":"https://my.app.com/item/9","scheme":"https"}}
非常感谢您的帮助 - 一整天都在努力:)
答案 0 :(得分:1)
我昨天遇到了同样的问题......
在我的情况下,我没有在我的应用程序模块中的任何地方注册我的页面。
@NgModule({
declarations: [
MyPage
],
imports: [
IonicPageModule.forChild(MyPage)
],
entryComponents: [
MyPage
]
})
export class MyPageModule {}
对我来说,我错过了IonicPageModule.forChild参考。 这是文档页面,其中讨论了为深层链接设置页面的问题。 https://ionicframework.com/docs/api/navigation/IonicPage/#usage
答案 1 :(得分:1)
我知道为时已晚,但仍然可以为某人提供帮助。我在订阅后将重定向用户,这样,如果用户未登录,您可以添加更多逻辑,或者可以相应地更改内容
this.deeplinks.route({
'/item/:itemId': {}
}).subscribe(match => {
console.log('Successfully matched route' + JSON.stringify(match));
this.nav.push(Detail1Page, { issueId: match.$args.issueId});
}
}, nomatch => {
console.error('Got a deeplink that didn\'t match' + JSON.stringify(nomatch));
});