我知道在过去的几周和几个月里,有很多关于深层链接和Ionic的事情。至少对我而言,目前还不清楚如何将所有这些放在一起并使其发挥作用。
我目前正在使用Ionic 3.6.0
Ionic native Deeplink Plugin仍然存在。但是,我的理解是这个插件不再使用,因为Ionic 3引入了它的@Page()
装饰器,其中可以指定深层链接(segment
)。这在浏览器中对我很有用,但我无法在我的Android应用程序中使用它。
我们说我有一个帐户激活页面:
@IonicPage({
name: 'activate-account',
segment: 'activate-account/:code',
defaultHistory: ['start'],
priority: 'off'
})
现在我想使用的帐户激活链接看起来像这样:https://my-app.com/#/activate-account/hsdlHJj2hsd32ahJsdhJS43HD
这个在浏览器中运行得很好。为了使它在android中工作,我在AndroidManifest.xml中定义了一个intent:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="my-app.com" android:pathPrefix="/" android:scheme="https" />
</intent-filter>
Android会识别我的链接并要求我在我的应用中打开它。但它似乎以某种方式弄错了路径,因为帐户激活页面不会打开。
我的想法是,这可能与离线(角度)添加到我的网址的#
有关。但是把它排除在外也不会有效。
有谁知道如何解决这个问题?或者也许如何检查/记录我的应用程序在我通过此URL打开它时所做的事情(我使用的是Chrome设备检查程序,但控制台日志没有显示任何相关内容)?我知道我可能能够使用android deeplink插件解决它,但它对我的用法似乎与新引入的@Page()
装饰器相矛盾。