【问题标题】:Android App Links - exclude specific sub-directoryAndroid App Links - 排除特定子目录
【发布时间】:2022-01-04 08:07:09
【问题描述】:

我正在使用Android App Links 将用户直接带到我的应用程序中的特定屏幕。我采用与 Rakuten 相同的方法,这意味着 URL 的 最后一个路径段 (LPs) 是一个有效域,它将用户引导到我的应用程序上的特定品牌屏幕。

https://www.rakuten.com/nike.com   (lps = nike.com)
https://www.rakuten.com/adidas.com   (lps = addidas.com)
https://www.rakuten.com/samsung.com   (lps = samsung.com)

Android 清单代码

<data android:host="www.rakuten.com" android:scheme="https" android:pathPattern=".*..*"/>

pathPattern = ".*..*" 允许 URL 中的任何域在我的应用程序中打开。以下所有链接都会在我的应用中打开 Nike 品牌屏幕

https://www.rakuten.com/dir1/nike.com
https://www.rakuten.com/dir1/dir2/nike.com
https://www.rakuten.com/dir1/dir2/dir3/nike.com
https://www.rakuten.com/dir1/dir2/dir3/dir4/nike.com

案例处理:

如果任何 URL 包含 /browser/(表示子目录名称 = browser),我想在浏览器中打开该 URL,而不是在我的应用程序中。

https://www.rakuten.com/browser/nike.com (should open in browser and not in-app)

有没有可能这样做?

【问题讨论】:

  • “有没有可能做到这一点?” - 并不真地。这里没有“除 X 之外的一切”语法。

标签: android deep-linking ios-universal-links applinks android-deep-link


【解决方案1】:

尝试使用:

<data android:host="www.rakuten.com/app" android:scheme="https" android:pathPattern=".*..*"/>

您要在应用中打开的所有路线都应位于www.rakuten.com/app

您要在浏览器中打开的所有路由都应位于www.rakuten.com/

【讨论】:

    【解决方案2】:

    很遗憾,我们无法排除任何特定的网址,因为 Android 不提供该选项。

    最佳做法是提供尽可能精确的pathPrefix

    <data android:scheme="https"
          android:host="www.rakuten.com"
          android:pathPrefix="/dir1/" />
    

    所以它会打开https://www.rakuten.com/dir1/* 链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2018-02-20
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2016-08-15
      相关资源
      最近更新 更多