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

Claude Code

Claude Code 提示词库:让您的 Web 应用为 App Store 和 Google Play 做好准备

下面每段提示词都针对审核人员拒绝 Web 应用的一个常见原因。它们专为在您仓库中工作的 Claude Code 编写,默认应用将运行在 WebViewGold 中,并明确告诉代理该调用哪个原生 URL scheme。粘贴一段,审阅 diff,部署,再进行下一段。

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

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

如何使用这些提示词

第一次请按顺序运行;之后通常一次只需要其中一段。每段提示词都要求代理单独 commit,并报告哪些地方仍需要人来决定。两个约定让提示词保持简短:原生应用通过一个包含标记 WebViewGoldApp 的自定义 User-Agent 来标识自己(在 Config.swift 中通过 useragent_iphone / useragent_ipad 设置,在 Config.java 中通过 USER_AGENT 设置);原生功能通过把 URL scheme 赋值给 window.location.href 来调用,详见WebViewGold 文档。

如果代理找不到它需要的东西(身份验证提供商、支付相关的数据表),它会向您提问。请给出具体的回答;含糊的回答只会换来含糊的代码。想让这一切自动生效,请使用CLAUDE.md 模板这个上下文文件。

运行完提示词之后:部署,在 WebViewGold 应用(或 Cloud Builder 预览)中打开已部署的 URL,在真机上把每个页面都点一遍。代理能修代码,却看不到某个按钮被键盘挡住了。然后在您的 URL 上运行就绪检查和Play Store 检查。

1. 移动端审查

提示词:审查并修复移动端布局
审查这个 Web 应用在原生 iOS 和 Android WebView 应用中使用时存在的问题,并修复发现的问题。检查:viewport meta 标签;从 320 px 到 1024 px 没有横向溢出;点按区域至少 44 x 44 px;固定的页眉、页脚和底部导航使用 env(safe-area-inset-top) 和 env(safe-area-inset-bottom) 留出内边距,确保没有内容被刘海或主屏幕指示条挡住;没有只能靠悬停打开的菜单;输入框字号至少 16 px,以免 iOS 自动缩放;没有仅限桌面端的侧边栏;没有依赖鼠标的元素。同时让首次绘制更快:懒加载重量级组件,用骨架屏代替空白页面。列出修改过的每个文件,以及所有无法自动修复的问题。

2. 隐私政策和条款页面

提示词:根据真实代码生成 /privacy 和 /terms
为这个应用创建 /privacy 和 /terms 页面。先检查代码库,列出我们实际收集或处理的每一类个人数据:身份验证提供商及其存储的内容、包含用户数据的数据库表、分析或错误跟踪 SDK、支付提供商、推送通知服务、会接收用户内容的第三方 API。根据这份清单,用通俗易懂的语言撰写隐私政策,包含以下部分:收集的数据、用途、第三方、保留期限、用户权利、账户删除(链接到 /delete-account)、联系邮箱,并说明 iOS 和 Android 应用加载的是同一项服务。不要编造我们并没有的做法。在页脚和设置页面中链接这两个页面,确保它们在 320 px 宽的屏幕上清晰可读,并把任何不确定的表述标记为 TODO,以便我确认。

只要有一个优化良好的Web应用版本,几分钟内您就能拥有一个出色的移动应用。除此之外,客户服务非常友好且乐于助人!我只能说:推荐WebViewGold :-)

朱利安·科赫(Julian Koch) · 联合创始人 Dueldonkey · CodeCanyon

3. 账户删除

提示词:添加应用内账户删除(Apple 5.1.1、Google Play 政策)
Apple 准则 5.1.1 和 Google Play 要求:能够创建账户的用户,也必须能在应用内删除账户。请实现以下内容:设置中的“删除账户”按钮,带确认对话框,说明删除的后果;一个服务器端函数(边缘函数、API 路由或云函数,admin 或 service-role 凭据只在服务器端使用),删除属于当前已认证用户的所有数据行,然后删除该身份验证用户本身;成功后让用户退出登录并显示确认页面;一个公开的 /delete-account 页面,为已经卸载应用的用户说明操作步骤,并提供邮箱联系方式。如果存在订阅,在对话框中说明商店订阅需要在 App Store 或 Google Play 设置中单独取消。如果项目已有测试配置,为这个服务器函数添加测试。

4. 错误状态、空状态和离线状态

提示词:杜绝空白页面
审核人员会拒绝显示空白页面或原始错误信息的应用(Apple 2.1,Google Play 的功能损坏政策)。检查这个应用中的每一次数据获取和每一个路由,确保每一处都具备:加载状态(骨架屏或加载指示器)、带一句有用说明和主要操作的空状态,以及带易懂提示和“重试”按钮的错误状态。添加一个带友好备用界面的全局错误边界。显式处理网络故障:当 fetch 因设备离线而失败时,明确提示设备处于离线状态,而不是显示笼统的错误。清除控制台错误和未处理的 Promise 拒绝。列出改动过的路由。

5. 通过 User-Agent 检测实现仅限应用内的界面

提示词:在应用内隐藏只属于网站的元素
我们的原生 iOS 和 Android 应用在加载这个 Web 应用时,使用一个包含标记 WebViewGoldApp 的自定义 User-Agent。添加一个小工具函数 isNativeApp(),检查 navigator.userAgent 中是否包含该标记,并在 html 元素上添加一个可供 CSS 选择的 data 属性或 class(例如 data-native-app)。然后,仅在原生应用内运行时:如果 Cookie 横幅对应用用户而言并非法律要求,就隐藏它;隐藏所有“下载我们的应用”或“在应用中打开”之类的推广;隐藏网站顶部页眉以及页脚中指向营销页面的链接;隐藏外部社交媒体链接,或用 target=_blank 打开它们,让封装层把它们交给系统浏览器;显示底部标签导航,代替桌面端菜单。在浏览器中保持网站原有的行为不变。

6. Sign in with Apple

提示词:在 Google 登录旁添加 Sign in with Apple(Apple 4.8)
这个应用提供 Google 登录(可能还有其他第三方登录)。Apple 准则 4.8 要求提供一个同等的、注重隐私的登录选项,Sign in with Apple 就是标准做法。使用我们身份验证库中的 Apple 提供方来添加它(Supabase Auth、Firebase Auth、Auth.js 或 Clerk:先判断我们用的是哪一个,再按照它文档中的 Apple 提供方配置步骤操作)。Apple 按钮的尺寸和醒目程度要与 Google 按钮相同,并遵循 Apple 的按钮设计规范。Apple 只在首次登录时返回用户姓名,因此要在首次登录时把它保存下来。把我必须在 Apple Developer 门户中完成的后台步骤(Services ID、密钥、回调 URL)写成清单,保存在 SETUP-APPLE-LOGIN.md 中。注意:在原生应用内,WebViewGold 封装层会自动识别 appleid.apple.com 并处理弹窗,因此登录流程本身不需要任何应用专属代码。

7. 应用内购买按钮

提示词:在应用内通过 RevenueCat 处理数字商品购买
在 iOS 和 Android 应用内,数字产品和订阅必须通过应用内购买销售(Apple 3.1.1,Google Play 结算),而不能走我们的 Stripe 结账。WebViewGold 封装层集成了 RevenueCat,当页面导航到 revenuecat://purchase?external_id=USER_ID&product=PRODUCT_ID 时就会发起购买(product 是 RevenueCat 控制台中显示的产品 ID;external_id 是我们的用户 ID,以便 RevenueCat 把这笔购买归属到对应用户)。请实现:当 isNativeApp() 为 true 时,“升级”和“购买”按钮把 window.location.href 设为该 scheme,并带上当前用户 ID 和对应的产品;在浏览器中继续使用 Stripe。添加一个服务器端点,接收 RevenueCat webhook,验证 authorization 请求头,并更新数据库中该用户的权益,这样 Web 应用在下次加载时就能解锁相应功能。添加一个“恢复购买”链接和一个“管理订阅”链接,后者说明订阅需要在 App Store 或 Google Play 设置中管理。不要在原生应用内显示 Stripe 价格或外部支付链接。

8. 推送授权页面

提示词:在合适的时机请求推送权限
原生应用通过 WebViewGold 支持推送通知。当页面导航到 registerpush:// 时会触发系统权限弹窗;导航到 checkNativePushPermissions:// 可以读取当前状态,片刻之后它会注入一个 JavaScript 变量 nativePushEnabled(true 或 false)。构建一个授权引导页面,仅当 isNativeApp() 为 true 时,在新手引导或首次登录之后出现一次:用一句话说明我们会发送什么(例如订单更新和回复),提供一个导航到 registerpush:// 的“开启通知”按钮,以及一个“以后再说”链接,把用户的选择在 localStorage 中记住 30 天。在设置中添加一行“通知”,检查 nativePushEnabled;如果通知已关闭,显示一个导航到 settingsapp:// 的链接,用于打开系统设置。绝不要在应用的第一个页面上触发 registerpush://。

常见问题

这些提示词必须设置自定义 User-Agent 才能生效吗?

提示词 5、7 和 8 依赖于识别应用。把 Config.swift 中的 useragent_iphone 和 useragent_ipad 以及 Config.java 中的 USER_AGENT 设为您常用的浏览器 User-Agent 字符串,再加上标记 WebViewGoldApp,两个平台上的检测就都能生效。

我可以在一个会话中运行所有提示词吗?

可以,但每段之间都要 commit。分开的 commit 便于在审核人员或用户遇到问题时回滚某一处改动。

为什么不直接用 WebViewGold 的自定义 CSS 隐藏元素?

也可以:两个项目中的 custom.css 文件会被注入到每个页面中。在您自己的代码里检测 User-Agent 更灵活(它不仅能改样式,还能改逻辑),而且会随部署一起生效,不需要新的应用构建。

如果我的应用不卖任何东西呢?

跳过提示词 7。应用内购买规则只适用于在应用内使用的数字商品和订阅。实体商品以及在应用外消费的服务可以继续使用 Web 结账。

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

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 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日。

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

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

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

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