Ionic 3页面装饰器:在Android应用程序中打开Deeplink

时间:2017-08-19 14:30:34

标签: android ionic3 deeplink

我知道在过去的几周和几个月里,有很多关于深层链接和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()装饰器相矛盾。

0 个答案:

没有答案