gpt4 book ai didi

Android 应用 https 深度链接和 Chrome 浏览器

转载 作者:行者123 更新时间:2023-11-30 01:24:17 25 4
gpt4 key购买 nike

Google guidelines 之后,我在我的 Android 应用程序中实现了 https 深层链接。 .

它几乎可以正常工作,当用户打开 Chrome 浏览器,搜索与 mycompany 相关的内容并单击链接时,操作系统将提示在我的应用程序或浏览器之间进行选择。此外,如果有人通过邮件或消息应用程序发送链接,如果用户点击它,操作系统也会提示在应用程序/浏览器之间进行选择。

但是,我看到了以下问题:

  1. 如果用户打开 Chrome 并在地址栏中输入:www.mycompany.com,操作系统不会提示在应用程序/浏览器之间进行选择,它只会在浏览器中打开它.

  2. 一旦用户在浏览器中浏览 www.mycompany.com 的主页时单击应用程序处理的链接(例如 https://www.mycompany.com/product/1234),操作系统不会提示在应用和浏览器之间进行选择。

  3. 最糟糕的问题是:如果用户单击应用程序未处理的链接(例如 https://www.mycompany.com/not-handled-path ),它会按预期打开相应的网页,但如果用户单击由应用处理的链接(例如 https://www.mycompany.com/product/1234)操作系统提示在应用/浏览器之间进行选择。

如您所见,行为似乎并不一致。我会说预期的行为是始终提示在应用程序/浏览器之间做出决定,还是始终让用户浏览网站。

请让我知道,如果我误解了什么,欢迎任何建议。

这是由我的调度 Activity 处理的 Intent 过滤器:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data android:scheme="https"/>
<data android:host="www.mycompany.com"/>
<data android:pathPattern="/" />
<data android:pathPattern="/product.*" />
<data android:pathPattern="/list.*" />
<data android:pathPattern="/stores.*" />
<data android:pathPattern="/brands.*" />
</intent-filter>

提前致谢。

编辑:

总结起来就是不一致:

写地址www.mycompany.com进入首页。此网页有指向 https://www.mycompany.com/product/123 的链接,点击进入商品详情页(OS不提示在APP或浏览器打开)。

写地址www.mycompany.com/not-handled-path进入网页,那么这个网页还有一个链接https://www.mycompany.com/product/123 ,但是,令我惊讶的是,单击它时操作系统会提示在应用程序或浏览器中打开。

最佳答案

我在开发我的应用程序时遇到了类似的问题,但没有找到任何明确说明预期行为的文档。然后我深入研究chromium source弄清楚发生了什么。根据 chrome 实现,当在同一主机内导航时,如果与可以处理源/引用 url 的应用程序相比,有更新的应用程序可用于处理目标 url,它将显示 Intent App Chooser。

综上所述,对你所见的解释如下:

  1. 用户明确选择了浏览器来查看您的网站,为了尊重这个 chrome,已在代码中进行了特定检查
  2. 您正在从一个 handled-in-app-url 导航到另一个 handled-in-app-url,因此没有操作系统弹出窗口
  3. 您正在从未在应用程序中处理的网址导航到已在应用程序中处理的网址。与处理旧 URL 的应用程序相比,Chrome 会发现有一个更新的应用程序可以处理目标 URL,因此它会显示操作系统弹出窗口以供用户决定。

关于Android 应用 https 深度链接和 Chrome 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36651441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com