跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

Lovable + 链接处理

您的 Lovable 应用中的外部链接与 URL 处理

在网页上,指向 Stripe、Google 登录、WhatsApp 或帮助中心的链接直接就能用。而在应用里,每个链接都需要一个去处:应用本身、应用内浏览器标签页、Safari 或 Chrome,或者邮件、电话、WhatsApp 等其他应用。处理不当,用户就会困在一个没有返回按钮的第三方页面上、在错误的地方登录,或者在浏览器里付款,而应用还在原地干等。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

各类链接应该在哪里打开

链接最佳去处原因在 WebViewGold 中如何设置
您自己的域名应用(主 WebView)这就是您的应用内部链接留在应用内
Stripe Checkout、支付链接、3-D Secure、PayPal应用(主 WebView)成功 URL 会带着完整的会话返回您的域名让外部链接留在应用内(选项 0),或把这些主机列为“绝不交给浏览器”的例外(safariblacklist、BROWSER_BLACKLIST)
Google 和 Facebook 登录Social Login HelperGoogle 会屏蔽嵌入式 WebView;该助手会在被认可的登录窗口中完成这一步,然后返回google_login_helper_triggers / GOOGLE_LOGIN_HELPER_TRIGGERS;Android 还提供 googlelogin:// 前缀,用 Chrome 自定义标签页(Custom Tab)打开
其他域名上的服务条款、帮助中心、文档、博客应用内标签页带地址栏和关闭按钮;应用保持在下层alwaysOpenInInAppTab / ALWAYS_OPEN_IN_INAPP_TAB,或使用 target="_blank" 并把特殊链接选项设为 1
WhatsApp(wa.me)、Instagram、YouTube、X、TikTok它们的应用或系统浏览器用户在那里已经登录,而不是在您的 WebView 中safariwhitelist / BROWSER_WHITELIST
mailto:、tel:、sms:邮件、电话、信息系统 scheme,由手机处理使用标准链接;WebViewGold 会把它们交给系统
App Store 和 Google Play 链接商店应用更新、评分、您的其他应用把 apps.apple.com 和 play.google.com 放入始终外部打开的列表

给 Lovable 的提示词

把这段粘贴到 Lovable 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。

粘贴到 Lovable 的提示词
这个应用将运行在一个原生外壳(WebViewGold)中,其 User-Agent 包含 "WebViewGold"。请整理外部链接,让它们在应用内表现良好:
1. 凡是应用重定向到 Stripe Checkout 或 Stripe 账单门户的地方,都用 window.location.href = url 导航,而不是 window.open 或 target="_blank"。
2. 确保 Stripe 的 success_url 和 cancel_url 指向我的生产域名,并且成功页面会从 Supabase 重新加载订阅状态。
3. 用 target="_blank" 打开其他域名上的帮助、文档和法律页面,让应用可以在应用内浏览器标签页中显示它们。
4. 联系按钮使用普通的 mailto:、tel: 和 https://wa.me/ 链接。
5. 当 useIsNativeApp() 为 true 且购买的是数字订阅时,隐藏 Stripe 结账按钮和账单门户链接(将由应用内购买取代)。
6. 列出应用链接到的每个外部域名,方便我配置原生链接处理。

把 Web 应用转换成原生应用的绝佳方式!周转速度快,无需开发完整的原生应用就能把应用上架到应用商店!

Kevin Joling · FlightConnections & TrainConnections · Trustpilot

三类链接及控制它们的开关

内部链接

与您配置的主机属于同一域名。它们在主 WebView 中加载,这也是起始 URL 应该使用生产域名的原因。请专门测试您用于认证、结账或 API 的子域名;它们是否算作内部链接,取决于您配置的主机。

外部链接

其他所有域名。选项 0 让它们留在应用内。iOS 可以通过 externalLinkHandlingOptions = 2 把它们交给 Safari;Android 的 EXTERNAL_LINK_HANDLING_OPTIONS 还提供 1(应用内标签页)和 2(系统浏览器)。按主机设置的列表会覆盖默认行为:iOS 上是 safariwhitelist、safariblacklist 和 alwaysOpenInInAppTab,Android 上是 BROWSER_WHITELIST、BROWSER_BLACKLIST 和 ALWAYS_OPEN_IN_INAPP_TAB。

特殊链接

带有 target="_blank" 的链接(在 Android 上还包括以 # 结尾的链接)。specialLinkHandlingOptions 和 SPECIAL_LINK_HANDLING_OPTIONS:0 为主 WebView,1 为应用内标签页,2 为浏览器。在 Android 上,newtab: 前缀可以强制单个链接采用这种行为。对于既是特殊链接又是外部链接的情况,Android 遵循特殊链接设置,而在 iOS 上,externalLinkHandlingOptions = 2 仍会把它们交给 Safari,所以如果您想用应用内标签页,请把它保持为 0。

为 Lovable 应用设置链接处理

整理好链接清单后约 15 分钟,然后在真机上测试。

  1. 列出您的 Lovable 应用中的每个外部链接

    逐页点击或搜索代码:结账和账单门户、登录服务商、社交主页、客服聊天、法律页面、商店徽章、mailto: 和 tel: 链接、地图。参照上表为每个链接记下去处。

  2. 设置默认行为

    对大多数应用来说:让外部链接留在应用内(两个平台都用选项 0),再为例外情况单独指定去处。把所有外部链接都交给浏览器,会破坏那些必须返回应用的支付和登录重定向。

  3. 添加例外

    社交应用、WhatsApp 和商店链接加入 safariwhitelist(iOS)和 BROWSER_WHITELIST(Android);服务条款、文档和帮助中心加入 alwaysOpenInInAppTab 和 ALWAYS_OPEN_IN_INAPP_TAB;如果您的默认行为是浏览器,则把支付和认证主机加入“绝不交给浏览器”的列表。主机请按链接中的写法原样填写,不带 https://。

  4. 开启登录助手

    把 https://accounts.google.com 加入 google_login_helper_triggers(iOS)和 GOOGLE_LOGIN_HELPER_TRIGGERS(Android)。不要简单地把 Google 交给 Safari:那样会话会留在 Safari 里,而不是应用中(disallowed_useragent 修复方法)。

  5. 单独处理数字商品购买

    实体商品和线下服务的 Stripe 支付可以留在应用内。对于在应用内使用的订阅或积分,除地区性例外外,Apple 要求使用应用内购买(准则 3.1.1),Google 要求使用 Play 结算,所以请在应用内隐藏这类结账入口(Stripe 与应用内购买对比)。

  6. 测试每种链接类型

    临时把 https://www.webviewgold.com/demo/testlinks.php 设为起始 URL,查看每种链接的行为;然后在 iPhone 和 Android 手机上点按真实应用中的每个外部链接,包括完整走一遍测试付款。

典型的初始配置

这里只列出取值:请沿用您的 Config.swift 和 Config.java 中这些行现有的语法。在 Android 上,ALWAYS_OPEN_IN_INAPP_TAB 接受 URL 前缀,其他列表接受主机名。

text
// Config.swift (iOS)
externalLinkHandlingOptions  = 0     // 外部链接留在应用内
specialLinkHandlingOptions   = 1     // target="_blank" 在应用内标签页中打开
safariwhitelist              = ["wa.me", "api.whatsapp.com", "www.instagram.com", "apps.apple.com"]
alwaysOpenInInAppTab         = ["help.yourdomain.com", "docs.yourdomain.com"]
google_login_helper_triggers = ["https://accounts.google.com"]

// Config.java (Android)
EXTERNAL_LINK_HANDLING_OPTIONS = 0
SPECIAL_LINK_HANDLING_OPTIONS  = 1
BROWSER_WHITELIST              = ["wa.me", "api.whatsapp.com", "www.instagram.com", "play.google.com"]
ALWAYS_OPEN_IN_INAPP_TAB       = {"https://help.yourdomain.com", "https://docs.yourdomain.com"}
GOOGLE_LOGIN_HELPER_TRIGGERS   = {"https://accounts.google.com"}

Vibe Coding 应用常见的链接错误

  • 在浏览器中结账。Stripe 在 Safari 或 Chrome 中打开,付款成功,成功页面在浏览器中加载,而应用里显示的仍是未付款状态。请让结账留在应用内,或用 Universal Links 把返回 URL 带回应用(参见深度链接指南)。
  • 在弹出窗口中结账。用 window.open 或 target="_blank" 打开结账的代码会变成特殊链接,于是成功页面在应用内标签页而不是应用中加载。请改用 window.location.href 导航。
  • iOS 应用中出现数字套餐的账单门户链接。除地区性例外外,Apple 可能会认为这是在引导用户绕开应用内购买(准则 3.1.1)。请只在网页上显示它。
  • 没有退路的第三方页面。iPhone 没有返回按钮。任何不属于您应用的内容,都应该放到应用内标签页或其他应用中打开。
  • WhatsApp、Instagram 或地图链接在应用内加载它们的网站,而且常常卡在登录墙后面。请把这些主机交给系统处理,让真正的应用打开。
  • 所有链接都在 Safari 中打开。一个不停跳出自身的应用,感觉就像一个书签,这正是许多准则 4.2 拒审背后的印象。

常见问题

为什么我的 Stripe 结账在应用中丢失了会话?

通常是因为结账在 Safari 或 Chrome 中打开:付款成功了,但成功 URL 在浏览器中加载,而用户在浏览器里并没有登录。请让 checkout.stripe.com 留在主 WebView 中(外部链接使用选项 0),并用 window.location.href 导航,这样重定向就会回到应用中。

mailto:、tel: 和 WhatsApp 链接在应用内能用吗?

mailto:、tel: 和 sms: 链接会交给邮件、电话和信息应用。对于 WhatsApp,请把 wa.me 和 api.whatsapp.com 加入始终外部打开的列表(safariwhitelist、BROWSER_WHITELIST),这样打开的是 WhatsApp 应用,而不是在您的应用内显示 WhatsApp 网站。请在真机上逐一测试。

什么是应用内标签页?

一个覆盖在您应用上方的浏览器视图,带有地址栏和导航按钮。用户读完页面后关闭它,就会准确回到原来的位置。它是展示服务条款、帮助文章和其他第三方内容的合适位置。

我可以让所有外部链接都在 Safari 或 Chrome 中打开吗?

可以(iOS 上设置 externalLinkHandlingOptions = 2,Android 上设置 EXTERNAL_LINK_HANDLING_OPTIONS = 2),但随后必须把所有支付、登录和 API 主机加入“绝不交给浏览器”的例外列表(safariblacklist、BROWSER_BLACKLIST),否则本应回到应用的重定向会落到浏览器中。

iOS 应用可以链接到我网站上的价格页面吗?

对于数字商品,Apple 通常不允许指向外部购买的按钮或链接。特定地区存在例外,例如 2025 年法院裁决之后的美国店面,以及欧盟的替代条款,而且这些规则还在变化。在依赖某项例外之前,请先在 App Store Connect 中查看准则 3.1.1 的最新文本。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的 Lovable 应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。