Guideline 5.6 付费墙被拒:原因与修改方法
作者:Mehdi Azizi
发布于 ,9分钟
Guideline 5.6 会拒绝设陷阱的付费墙,比如点叉号却弹出优惠、强制推送促销。本文讲规则内容和我修改 TradaZen 被拒的过程。
Guideline 5.6 是开发者行为准则。针对付费墙,Apple 会引用一句固定的话:应用“attempts to manipulate customers into making unwanted In-App Purchases”。说白了,你的购买流程里有某个按钮做的事和它显示的不一样,或者某个优惠在用户没要求的情况下又冒了出来。 修改只需要一条原则:每个按钮都做它说的事,什么时候再看到优惠,由用户自己决定。
我在 TradaZen 上吃过这个拒审。TradaZen 是我做的交易练习应用,上线过程写在这篇案例分析里。下面讲规则本身、我在自己付费墙里找到的问题、要避开的套路,以及我给 Apple 的回复。如果你关心的是请求评分的相邻规则,请看 guideline 5.6.3 的指南。
Guideline 5.6 讲了什么?
5.6“Developer Code of Conduct”位于 App Review Guidelines 第 5 部分“Legal”。第一段讲尊重:对客户、对评论的回复、和 Apple 的沟通。第二段直接针对购买。
现行条文先立原则:“Customer trust is a cornerstone of the App ecosystem.” 然后列出应用绝不能做的事:占用户便宜、欺诈用户、“trick them into making unwanted purchases”、强迫用户分享不必要的数据、“raise prices in a tricky manner”、对没交付的东西收费,以及应用内外的任何其他操纵行为。
翻成大白话:不能靠耍花招换来购买。 条文没有列出禁止的按钮清单,它看的是效果:用户付钱是因为他想买,还是因为界面给他下了套?
5.6 下面还有四条子规则:
| 子规则 | 针对的内容 |
|---|---|
| 5.6.1 App Store Reviews | 评论与评分请求 |
| 5.6.2 Developer Identity | 你的信息要准确 |
| 5.6.3 Discovery Fraud | 曝光作弊 |
| 5.6.4 App Quality | 投诉、退款 |
处罚写在规则里:“Repeated manipulative or misleading behavior or other fraudulent conduct will lead to your removal from the Apple Developer Program.” 也就是说,反复的操纵行为会让你被踢出开发者计划。这是一条通用规则,也是第一次被拒就把整个购买流程改干净的好理由。
付费墙的 5.6 拒审信息
拒审信息通常是同一句话:“The app attempts to manipulate customers into making unwanted In-App Purchases.” Apple 不一定会说明针对的是哪个元素。我收到的拒审就只有这一句。
其他开发者描述过出问题的界面。2024 年 11 月 Apple 论坛的一个帖子里,一位开发者把他的 5.6 拒审归因于一个一次性优惠:用户关闭第一个订阅界面时就会弹出来。
5.6 不只针对付费墙。还有开发者因为某些功能看起来在审核期间被隐藏而被拒。如果你的 5.6 拒审跟购买无关,先找找审核员有什么没看到。
我在 TradaZen 上的 5.6 拒审
2026 年 10 月 12 日,Apple 拒绝了 TradaZen 1.5.1 版本,测试设备是 iPad Air。理由:guideline 5.6,附上那句关于非自愿购买的固定说法。没有点名任何界面。
于是我把整个购买流程重新走了一遍,把自己当成一个只想拒绝的人。新手引导结束时的付费墙没有关闭选项:应用要求开始试用或订阅才能继续。它周围有三个机制可能被看成操纵:
- 假叉号。 界面顶部有个叉号形状的按钮,VoiceOver 读出来是“关闭”,点了却打开一个折扣优惠,而不是关闭。
- 自己回来的优惠。 只要优惠还在有效期内,用户每次回到应用它都会重新弹出。
- 促销推送。 从付费墙退出应用,会预约一条宣传独家折扣的通知。
有个细节很关键:这些机制在上一个版本就已经存在,而那个版本三天前刚通过审核。一次通过不代表你的付费墙永远没问题:换个审核员,同一个界面可能有不同解读。
我改了什么
- 这个界面上的叉号去掉了。换成一个礼物图标,VoiceOver 读作“独家折扣”,点了才打开优惠。再也没有假装关闭的东西。
- 回到应用时,优惠再也不会自己弹出。
- 折扣通知删掉了。只保留一条温和的提醒,每次安装只发一次,并且只在用户允许通知时发送。它不提价格、不提折扣、不提期限。
- 这条提醒写进了给 App Review 的信息里,包括文案和发送时机。
我保留了什么
剩下的部分我也重新审视了一遍,问自己每个元素是否真的给了用户选择。
- 取消购买后的一个优惠。 如果用户在年度订阅的 Apple 支付面板上点了取消,会弹出一个新人优惠。它只有一个 5 分钟的窗口,不会重新计时:用户在这段时间内再次取消,它会再次弹出。点叉号或“不用了”一下就能关掉,显示的是商品的真实价格。
- 一个真实的 5 分钟倒计时。 首次显示时,截止时间就保存在设备上。应用关闭后它照样走,重启也不会归零。时间一到,这次安装里优惠就消失了。如果提前关掉,会有一个小标签显示剩余时间,只有点它才会重新打开优惠。
- 一个上锁的宝箱。 它展示用户在新手引导中获得的物品,而且只展示这些,在应用解锁前保持锁定。没有任何地方说它们会丢失。
这些元素都写进了审核备注。拒审没有点名任何界面,所以我不会说它们得到了 Apple 认可。在我看来,它们是这些机制的透明版本,而且我都申报了。
因为所有问题都在应用内,修复需要一个新 build。TradaZen 于 2026 年 10 月 13 日重新提交审核。
会触发 5.6 的付费墙暗黑模式
Apple 不公布清单。同一个机制往往有两个版本:下套的版本和给选择的版本。下表把两者分开,依据是规则条文、其他开发者公开的拒审案例和我自己的经历。透明版本不保证通过,它只是不试图欺骗的那个版本。最后一列说明每一行的依据。
| 操纵版本 | 透明版本 | 依据 |
|---|---|---|
| 叉号不关闭,反而打开一个优惠 | 叉号就是关闭。关不掉的界面不显示叉号 | 我在 TradaZen 被拒后已修改 |
| 关闭付费墙时弹出“一次性”优惠 | 折扣放在一个明确标示的按钮后面 | Apple 论坛公开的拒审 |
| 用户拒绝后再推第二个优惠,付费墙价格有误导性 | 取消购买后只给一个优惠,真实价格,一下就能关掉 | Cal AI 案例;Superwall 转述的沟通 |
| 回到应用时付费墙或优惠自己重新打开 | 用户触到限制或点了明确标示的按钮时才出现 | 我在 TradaZen 被拒后已修改 |
| 用户从未要求过的促销通知 | 明确同意后才推促销,并能在应用内退订 | 规则 4.5.4 |
| 假倒计时,会归零,或结束后优惠又回来 | 真实期限,应用关闭也继续计时,到时就真的结束 | 我对“trick them”的理解,规则 5.6 |
| 编造的奖励,或威胁不买就会消失 | 用户真正获得的东西,展示时不威胁会失去 | 我对规则 5.6 的理解 |
| 免费试用不提自动扣费 | 试用时长和之后的收费价格就写在按钮旁边 | Apple 订阅页面 |
| 周价格写得很大,实际扣款金额写得很小 | 实际扣款金额是界面上最醒目的价格 | Apple 订阅页面 |
| 让人有负罪感的拒绝按钮 | 中性的拒绝文字,比如“以后再说”或“不用了” | 我对规则 5.6 的理解 |
Cal AI 案例由 TechCrunch 报道:Apple 以 5.6 为由,针对向拒绝第一个订阅优惠的用户展示第二个优惠的做法。同一个付费墙还被以 3.1.2(c) 点名:周价格压过了实际扣款金额,试用隐藏了自动续订。文章没有进一步描述第二个优惠。
另一方面,Superwall 这家卖付费墙工具、也卖这类优惠的公司,转述了 2026 年 6 月与 Apple 的一次非正式沟通。其中,取消购买后展示的优惠被描述为允许的。纠缠则不行:每次打开都回来的优惠,或者只有付钱才能离开的流程。Superwall 也说明这些不是官方规则,审核员仍有自己的判断。所以用户拒绝后再给优惠仍然是个灰色地带:条文没有禁止,有公开的拒审案例,做法很重要。
通知的规则是 4.5.4:没有在应用内取得明确同意,或者没有退订方式,就不能用通知做推广。
价格方面,Apple 的订阅页面说得很清楚:实际扣款金额必须是最醒目的价格元素。理由就一句话:“This ensures that people are not misled.” 规则 3.1.2 还补充说,Apple 会下架以误导方式或“bait-and-switch”手法销售订阅的应用。
我现在用的检验方法:每个按钮做的事是否和它的外观承诺完全一致?用户能不能一下就说不,而且优惠不会自己回来?
更常见的付费墙错误,那些会损失销量但不一定导致被拒的,写在 iOS 付费墙:新手常犯的 7 个错误里。
如何修复 5.6 拒审
- 列出整个购买流程。 付费墙、次级优惠、倒计时、通知、回到应用时的再次推送。Apple 不一定说明针对的是什么。逐个检查是否是透明版本:一下就能关掉、倒计时是真的、价格准确、不会自动回来。凡是像陷阱的都改掉或删掉,不只是最可疑的那一个。
- 重走审核员的路径。 删掉应用,重新安装,完成新手引导,然后拒绝一切:关闭、取消、退出应用、再回来。记下每个你没要求就弹出来的界面,并确认能一下关掉。
- 准备新 build。 问题在应用里,也就是在打包的代码里。远程更新替代不了 build,我在 guideline 2.1 的指南里解释过。
- 别留后手。 通过审核后再远程重新开启优惠,等于向审核员隐藏功能。RevenueCat 自己在关于挽留优惠的文章里就提醒过别这么干。
- 在 App Store Connect 里用英文回复,方法是回复 App Review 的消息。
下面是一份模板,取自我的回复和审核备注,有删减。把 build 号和改动换成你自己的,再列出保留的内容:
Hello,
Thank you for your feedback on Guideline 5.6.
Issue: on the subscription screen, the button in the top
corner looked like a close button, but it opened a
discounted offer instead of closing the screen.
Changes in build X:
- Nothing on the subscription screen pretends to close it.
A clearly labeled button now opens the optional offer.
- The offer never reopens by itself when the user comes
back to the app.
- The notification announcing a discount has been removed.
Still in this build (also described in the review notes):
- [Each remaining offer: what triggers it, how often it
appears, how the user dismisses it.]
- [Each remaining reminder: its text, when it is sent,
and under which conditions.]
If another part of the purchase flow still looks unclear,
please tell me which screen, and I will change it.
Best regards,
你写的内容必须和 build 完全一致。 如果你保留了某个提醒或优惠,哪怕是自动触发的,也要在回复和审核备注里写清楚。如果你认为审核员判断错了,Apple 允许向 App Review Board 申诉,每次被拒的提交只能申诉一次。对付费墙来说,我觉得修改比争辩更稳妥。其他拒审理由和应对方法见Apple 为什么拒绝你的应用。
提交前的防 5.6 检查清单
- 每个叉号都能关闭界面。关不掉的界面不显示叉号。
- 每个按钮都说明它做什么,在屏幕上和 VoiceOver 里都是。
- 没有优惠藏在关闭按钮后面。
- 如果保留了因拒绝而触发的优惠,它只有一个不会重新计时的窗口,真实价格,一下就能关掉。
- 回到应用时,没有付费墙或优惠会自己重新打开。
- 没有在应用内取得明确同意,就不发促销通知。
- 没有假倒计时:显示的期限是真的,不会归零,到时就真的结束。
- 界面上显示为已获得的东西,确实已经获得,不威胁会失去。
- 试用显示时长和之后的收费价格。
- 实际扣款金额是界面上最醒目的价格。
- 审核备注描述了 build 里的每个优惠和每条提醒。
- 你已经在 iPhone 和 iPad 上以拒绝一切的方式重走了流程。
提交给 Apple 前先让人看看你的付费墙
Review Kit 包含我的提交前检查清单、我修复过的拒审案例,以及两个 Claude Code skill,会检查你的项目、付费墙和商店页面。如果 Apple 拒了,它们会帮你准备回复。想要真人把关,可以预约和我一小时:我们在你的屏幕上一起重走购买流程。被拒后的完整处理方法在应用被 Apple 拒绝页面,订阅的技术部分在 iOS 应用内订阅。
如果你在准备第一次上架,做一下免费诊断:它会帮你理清步骤顺序,并发给你我的防 Apple 拒审检查清单。首页介绍了如何开发手机应用,从一开始就按审核要求设计付费墙。
没人能保证 Apple 一定会通过你的应用。我能做的,是帮你避开一个我已经付出一轮审核代价的 5.6 拒审。
常见问题
拒审里的“Guideline 5.6 - Developer Code of Conduct”是什么意思?
这是开发者行为准则这条规则的标题。对于带内购的应用,它大多意味着购买流程被认为有操纵性:假关闭、自己回来的优惠、试用或价格的呈现有误导性。拒审信息不一定会说明针对哪个界面。
Apple 禁止挽留优惠吗?
条文没有明文禁止。RevenueCat 也这么说,同时指出有开发者因此被拒。公开的拒审案例针对的是用户关闭付费墙时弹出的优惠,或用户拒绝后再推的第二个优惠。透明版本的区别在于:优惠是可选的,只有一个不会重新计时的窗口,真实价格,一下就能关掉,不会自己回来,如果有倒计时也是真的。把它写进审核备注。没人能保证审核员会这样理解。
没有叉号的付费墙允许吗?
规则没有要求必须有叉号,TradaZen 被拒后我也是这么做的。Apple 拒绝的是看起来像关闭、实际做别的事的按钮。不过,有开发者报告过一个5.6 拒审,原因是一款免费下载应用里的付费墙没有出口。先展示价值再要求试用,并在商店页面写清楚应用是付费的。
5.6 被拒后需要新 build 吗?
大多数情况下需要,因为问题出在应用的某个界面或行为上。如果问题在应用之外,比如商店页面或元数据,不提交 build 也可能就够了。拿不准的话,问审核员针对的是哪个界面。
5.6 拒审会导致开发者账号被封吗?
规则规定,反复出现操纵行为会被踢出开发者计划。规则也规定,被关闭的账号可以在提交书面改进计划、经 Apple 批准并核实后恢复。所以第一次被拒就该把整个购买流程改干净。
5.6 和 5.6.3 有什么区别?
5.6 是总的行为准则:尊重、信任、不靠耍花招换来购买。5.6.3 是它的一条子规则,针对操纵排名、搜索和评论。Apple 曾因 Solys 在新手引导里放了评分请求而引用这条规则。

