1

我知道在过去的几周和几个月里,深度链接和 Ionic 发生了很多事情。至少对我来说,仍然不清楚如何将所有这些放在一起并使其发挥作用。

我目前正在使用 Ionic 3.6.0

Ionic 原生的Deeplink 插件仍然存在。@Page()但是,我的理解是,自从 Ionic 3 引入了它的装饰器后,这个插件就不再使用了,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-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()装饰器相矛盾。

4

0 回答 0