【问题标题】:Android Deep linking can't catch redirect urlAndroid 深度链接无法捕获重定向 url
【发布时间】:2018-01-22 10:08:29
【问题描述】:

是否有可能是这样的深层链接 我有http://example.com/shortlink之类的链接 当它打开到浏览器时,它会重定向到http://example.com/product?id=123 所以在那里我将打开我的应用程序并直接转到 id 为 123 的产品

我有这样的意图过滤器

[IntentFilter(new[] { Intent.ActionView },

Categories = new[] { Intent.CategoryDe​​fault, Intent.CategoryBrowsable },

DataSchemes = new[] { "http", "https" },

DataHost = "example.com",

DataPathPrefixes = new[] { "/cat", "/test", "/product" },

DataPath = "/")]

现在重定向后的网址将直接打开播放商店,所以我无法在我的意图过滤器上捕获它 而且当我尝试直接将http://example.com/product?id=123 复制粘贴到浏览器时,它也直接进入播放商店。可以通过意图过滤器过滤吗?如果我从另一个应用程序(例如聊天应用程序)打开链接,它应该可以正常工作(显示我的应用程序的对话框弹出窗口)

【问题讨论】:

  • 您可能会发现这很有用danielmuller.me/2013/02/…
  • 我的问题有点不同。如果用户没有该应用程序,它可以正常工作。但是如果用户有应用程序,即使我已经在意图过滤器中捕获了域,它也总是会去播放商店
  • 您的设备是否使用 Chrome 或 Firefox 打开链接? Firefox 处理事情的方式不同。
  • 我用 chrome 试过了,还没有用其他浏览器测试过
  • 在您的问题中,您是说它正在打开 PlayStore。 AFAIK,PlayStore 仅打开其链接(例如 play.google.com)而不是 example.com 类型的链接。可能是链接的网站(example.com 或其他)将您重定向到其 PlayStore 链接。在这种情况下,您可能不得不重新考虑您的解决方案。我猜你需要一个 API,它可以让你在你的应用程序中解码缩短的 URL。

标签: android android-intent xamarin.android deep-linking


【解决方案1】:

在以下情况下,Chrome 不会针对给定的 Intent URI 启动外部应用程序。

  • 当 Intent URI 从键入的 URL 重定向时。

  • 在没有用户手势的情况下启动 Intent URI 时

查看更多:https://developer.chrome.com/multidevice/android/intents

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-29
    • 2018-04-11
    • 2017-02-08
    • 2017-05-16
    • 2021-03-24
    • 2015-04-09
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多