WebViewGold 文档 · Android
🇨🇳 中文
获取 WebViewGold

URL 处理 API

决定哪些链接在您的 Android 应用内、Chrome Custom Tabs 中或外部浏览器中打开。

为了提升用户体验,自定义应用处理不同类型网页链接的方式通常很有帮助。例如,可以将社交媒体按钮配置为在系统浏览器或相应的应用中打开,而不是在您的应用内打开。WebViewGold 提供了灵活的设置,可自定义基于 WebView 的 Android 应用的 URL 处理方式:

链接类型:

  1. 外部链接: 指向与您应用主域名不同的域名的链接。
    • 示例: 如果您应用的域名是 mydomain.com,那么外部链接就是 google.com
  2. 内部链接: 与您应用处于相同域名下的链接。
    • 示例: 如果您应用的域名是 mydomain.com,那么内部链接就是 mydomain.com/purchase
  3. 特殊链接: 包含特殊属性的链接,例如 target="_blank",或以 # 结尾的链接。

链接处理选项:

您可以按如下所示,通过修改 Config.java 文件中的设置来配置链接行为。

外部链接处理:

  • 默认选项 (0): 若要在主 WebView 中打开外部链接(与内部链接相同),请将 EXTERNAL_LINK_HANDLING_OPTIONS 设置为 0
  • 选项 1: 若要在新的应用内标签页中打开外部链接,请将 EXTERNAL_LINK_HANDLING_OPTIONS 设置为 1
  • 选项 2: 若要在设备的默认系统浏览器(例如 Chrome、Safari)中打开外部链接,请将 EXTERNAL_LINK_HANDLING_OPTIONS 设置为 2

特殊链接处理:

  • 选项 0: 若要在应用的主 WebView 中打开特殊链接,请将 SPECIAL_LINK_HANDLING_OPTIONS 设置为 0
  • 选项 1: 若要在新的应用内标签页中打开特殊链接,请将 SPECIAL_LINK_HANDLING_OPTIONS 设置为 1
  • 选项 2: 若要在设备的默认系统浏览器(例如 Chrome、Safari)中打开特殊链接,请将 SPECIAL_LINK_HANDLING_OPTIONS 设置为 2

注意:对于既是外部又是特殊的链接,此设置将覆盖 EXTERNAL_LINK_HANDLING_OPTIONS

自定义链接访问:白名单与黑名单

若要为特定网站或页面创建例外,请打开 Config.java 并将该域名添加到以下某个数组中:

  • BROWSER_WHITELIST: 列出要在应用的 WebView 内打开的特定域名。
  • BROWSER_BLACKLIST: 列出要在外部浏览器中打开的特定域名。

有关为您的 Android 应用配置链接的详细指导,请观看下方提供的视频教程:






URL 处理 – 为特定链接使用应用内浏览器

有些链接(例如条款与条件页面)可能重要性不足以在外部系统浏览器中打开,但又过于特定而不适合放在应用的主 WebView 中。WebViewGold 为处理这类链接提供了一种巧妙的解决方案:一个应用内浏览器标签页,它在主 WebView 上层打开,提供应用与浏览器相结合的混合体验。其外观如下所示:

在 Android WebView 应用中于额外的应用内浏览器/标签页中打开链接

应用内浏览器标签页的主要功能:

  • 应用内浏览器标签页包含地址栏导航按钮,相比主 WebView 提供了更接近浏览器的体验。
  • 非常适合需要便捷导航的内容,例如教程、知识库或包含特定信息的页面。

如何在基于 WebView 的 Android 应用中使用应用内浏览器标签页:

若要在应用内浏览器标签页中打开链接,请按如下方式在 HTML 中设置 URL 的格式:

<a href='#' onClick="top.location.href='https://www.example.com';">Open Example Page</a>
                      

示例: 若要打开 Google,请使用:
<a href='#' onClick="top.location.href='https://www.google.com';">Open Google</a>
                      

测试链接行为:
若要查看您的应用将如何处理不同类型的链接,请在测试期间将以下 URL 用作 WebView 的 URL:
测试链接:https://www.webviewgold.com/demo/testlinks.php
注意: 您也可以在桌面浏览器中打开同一域名,以查看源代码并复制链接的格式。

SDK 风格的实现说明

将此功能视为向 Web 层公开的原生能力:将生产网站或 PWA 作为唯一可信来源,然后使用文档中的 WebViewGold 配置标志、URL 命令和 JavaScript 桥接调用,仅在能够带来价值的地方启用原生 Android 行为。这种方式让代码库易于维护,因为同一个 Web 应用只需极少的条件逻辑即可同时服务于浏览器、WebViewGold for Android 以及其他 WebViewGold 平台。

为获得可靠的结果,建议优先使用 HTTPS 端点、稳定的路由名称、在界面中明确的成功/错误状态,以及封装原生调用的小型 JavaScript 辅助函数。例如,使用 jQuery Mobile、Lovable、Base44、Bolt、WordPress、Bubble、自定义 React/Vue/Angular 技术栈或静态 HTML 构建的 Web 应用,可以提供单个按钮或事件处理程序来触发原生 WebViewGold API,同时仍为浏览器提供优雅的回退方案。

  • 推荐的集成模式:检测应用上下文,调用 WebViewGold API,然后在原生回调或路由变更后更新 Web 界面。
  • 测试清单:在真机或打包构建上验证该功能,检查权限和商店审核文案,并确认仅使用浏览器的用户仍能获得有用的回退方案。
  • SEO 优势:让功能页面、路由标题和结构化内容在您的网站上保持可被索引,同时由 WebViewGold 为 Android 用户提供原生应用外壳。

太忙了?我们替您搭建应用。

我们的团队为您配置、构建并提交 WebViewGold 应用——全程代劳、交付迅速、德国制造。

让我们搭建应用 →

在浏览器中构建

无需 Mac、无需 IDE:WebViewGold Cloud Builder 在线为您配置、构建并上传应用。

了解 Cloud Builder →