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

App Store 审核被拒

准则 3.1.2(Subscriptions):审核人员检查的付费墙细节及添加方法

您的应用内购买能正常运作,Apple 却仍然拒绝了应用。3.1.2 拒审关注的是付费墙在用户点击之前告诉了他们什么:能得到什么、多少钱、多久扣一次、会自动续订,以及如何恢复或取消。所有这些,不过是一些文案加上两个链接。

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

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

3.1.2 对订阅的要求

自动续期订阅必须持续提供价值、能在用户的多台设备上使用,并且以诚实的方式呈现:付费墙必须写明订阅名称、时长、每个周期的价格,以及订阅会自动续订直至取消。应用及其 App Store 页面需要提供可用的使用条款和隐私政策链接,用户还必须能够恢复购买。免费试用和推介优惠必须说明到期后的费用。

Web 价格页往往一下子违反好几条。一张写着“Pro $9/mo”并配有“免费开始”按钮的卡片,没有用文字写明周期,没有自动续订声明,没有试用结束后的价格,没有恢复链接,还有一行指向 Stripe 的“随时在控制台取消”。即使 RevenueCat 购买本身是成功的,这也会招致 3.1.2 拒审。

审核人员逐项核对的付费墙清单

  • 订阅名称及其包含的内容,用新用户一看就懂的一句话写明。
  • 用文字写明周期长度(每月、每年),以及以用户所在商店币种显示的每周期价格。
  • 声明订阅会自动续订,除非在当前周期结束前至少 24 小时取消。
  • 免费试用:时长、试用结束时收取的价格,以及在结束前取消即可避免扣费的说明。
  • 一个“恢复购买”链接(restoreinapppurchases://)和一个“管理订阅”链接(cancelinapppurchase://)。
  • 在付费墙上和 App Store 描述中提供使用条款和隐私政策的链接。

为 WebViewGold 构建版本打造合规付费墙的两种方式

  1. 方案 A:让 RevenueCat 原生渲染

    在 RevenueCat 控制台中设计付费墙,在那里添加您的条款和隐私链接,然后在 Web 应用中用 revenuecat://launchPaywall?external_id=USER_ID&offering=default 打开它。该模板会显示本地化价格和恢复按钮,所有必需元素都集中在一处。需要 iOS 15 或更高版本。

  2. 方案 B:您自己的 HTML 付费墙

    保留您的设计,加上上面清单中的各项,并把购买按钮链接到 revenuecat://purchase?external_id=USER_ID&product=pro_monthly。如需本地化价格,在调用 getstorelocation:// 之后从 storeLocation 读取商店所在国家(或在 Config.swift 中启用 autoInjectVariable),并显示您在 App Store Connect 中设置的对应价格。

  3. 同步权益并显示状态

    RevenueCat webhook 会更新 Supabase 或 Firebase 中用户的套餐。在应用中显示“Pro 有效期至 [日期]”和管理链接;如果您想要一份原生收据列表,getpurchasehistory:// 会填充 window.purchaseHistory。

  4. 在应用中隐藏网页账单界面

    Stripe 客户门户、“在网站上更改套餐”按钮以及仅限网页的优惠码都不得出现在应用内。用 user agent 标记或仅在应用中生效的 CSS 把它们隐藏起来。

  5. 在商店页面中添加链接

    把使用条款 URL 和隐私政策 URL 粘贴到 App Store 描述和隐私政策字段中。如果您没有自己的条款,可以使用 Apple 的标准 EULA。

  6. 用沙盒账号测试并重新提交

    用沙盒测试员完整走一遍购买、恢复和取消流程,录一段简短的视频,上传新的构建版本,并在 Resolution Center 回复中说明披露信息所在的位置。

在过去5年我们尝试过的所有应用平台中,WebViewGold为我们带来了有史以来最短、最高效的上市时间。我不知道为什么没有更早发现你们,但我真的非常满意。目前我们的应用在iOS App Store和Google Play商店的下载量已超过6000次,没有任何问题!

安东尼奥·达维拉 · CodeCanyon

会被标记的措辞,以及能通过的写法

会被标记能通过
免费开始7 天免费试用,之后每月 $4.99。自动续订;请在试用结束前至少 24 小时取消,以免被扣费。
Pro $9Pro,每月 $8.99,按月扣费,直至取消。
终身访问(用于订阅时)年度套餐,每年 $49.99。
随时在我们的网站上取消在您的 Apple ID 订阅设置中管理或取消。

提示词:生成合规的付费墙组件

给 Lovable、Bolt、v0 或 Cursor 的提示词
为我的应用创建一个 Paywall 组件。当 user agent 包含 MyAppiOS(我们的 iOS 应用)时显示这个版本;在网页上保留现有的 Stripe 价格方案。内容:套餐名称 [名称];包含的内容 [列表];每周期价格作为变量 [价格],周期用文字写出(每月 / 每年);免费试用 [天数] 天,之后每周期 [价格];这句话:您的订阅会自动续订,直至取消。请在当前周期结束前至少 24 小时,在您的 Apple ID 订阅设置中管理或取消订阅;一个“订阅”按钮,跳转到 revenuecat://purchase?external_id=[userId]&product=[productId];一个“恢复购买”文字链接,指向 restoreinapppurchases://;一个“管理订阅”链接,指向 cancelinapppurchase://;页脚放小字链接,指向 /terms 和 /privacy。布局保持简洁、高对比度,按钮高度至少 44 px,不要出现此列表以外的任何宣传说法。

常见问题

价格必须显示在应用里吗,还是在 App Store Connect 里设置就够了?

必须显示在应用里,在付费墙上,在购买弹窗出现之前。StoreKit 弹窗会再显示一次,但审核人员希望在您自己的界面上看到披露信息。

我能在应用里提到网页价格吗?

不能。在应用内比较价格或指向更便宜的网页套餐,除了 3.1.2 之外还会构成 3.1.1 问题。网页价格请只留在网页上。

老用户的订阅由 Stripe 管理。他们需要在应用里再买一次吗?

不需要。对已经在网页上付费的用户,从后端为其解锁权益即可;只要应用本身提供应用内购买,并且不链接到外部付款,这样做是允许的。

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

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