Guideline 5.6 付費牆被拒:Apple 審核原因與修正方法
作者:Mehdi Azizi
發布於 ,9 分鐘
Guideline 5.6:Apple 會拒絕設下陷阱的付費牆,例如點叉叉卻跳出優惠、強制重複推銷。本文說明規則內容,以及我修正 TradaZen 被拒的過程。
Guideline 5.6 是開發者的行為準則。遇到付費牆的問題時,Apple 會引用一句固定的話:app「attempts to manipulate customers into making unwanted In-App Purchases」。白話來說,你購買流程中的某個按鈕沒有做到它所宣稱的事,或是某個優惠在使用者沒要求的情況下又跳了出來。修正方法可以濃縮成一條規則:每個按鈕都做它說的事,而且由使用者自己決定什麼時候再看到優惠。
我在 TradaZen 上吃了這個退件。TradaZen 是我的交易練習 app,它的上架過程我寫在這篇案例分析。以下是規則內容、我在自己付費牆裡找到的問題、該避免的設計模式,以及我給 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.」接著列出 app 絕對不能做的事:占使用者便宜、詐騙他們、「trick them into making unwanted purchases」、強迫他們分享不必要的資料、「raise prices in a tricky manner」、對沒有提供的東西收費,或任何其他操控性的做法,不論在 app 內或 app 外。
換句話說:你不能用詐術換來一筆購買。條文並沒有列出禁止的按鈕清單,它看的是效果:使用者付錢,是因為他想付,還是因為畫面設了陷阱?
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,附上那句關於非自願購買的固定句子。沒有指出任何畫面。
所以我用一個「只想拒絕」的人的角度,重看了整個購買流程。新手引導結束時的付費牆沒有關閉選項:app 要求開始試用或訂閱才能繼續。它周圍有三個機制可能被視為操控:
- 假的叉叉。畫面頂端有一個叉叉形狀的按鈕,VoiceOver 唸出來是「關閉」,點了卻是打開折扣優惠,而不是關閉畫面。
- 自己跳回來的優惠。只要優惠還在期限內,使用者回到 app 時它就會自己重新打開。
- 促銷推播。從付費牆離開 app,會排程一則宣傳獨家折扣的通知。
有個細節很重要:這些機制在前一版就已經存在,而那一版三天前才剛通過。一次通過不代表你的付費牆永遠合格:換一位審核人員,可能會對同一個畫面有不同解讀。
我改了什麼
- 這個畫面上的叉叉拿掉了。取而代之的是一個禮物圖示,VoiceOver 唸出「獨家折扣」,點了才會打開優惠。再也沒有任何東西假裝是關閉按鈕。
- 回到 app 時,優惠再也不會自己打開。
- 折扣通知刪除了。只保留一個溫和的提醒,每次安裝只發送一次,而且只在使用者允許通知時才發送。內容不提價格、不提折扣、也不提期限。
- 這個提醒寫在給 App Review 的訊息中,附上文字內容和發送時機。
我保留了什麼
剩下的部分我也重看了一遍,問自己每個元素是否真的讓使用者有選擇。
- 購買取消後的優惠。如果使用者在 Apple 的付款畫面取消年訂閱,會出現一個新手優惠。它只有一次 5 分鐘的時間窗口,不會重新計時:如果使用者在這段時間內再次取消,它會再打開。它可以用叉叉或「不用了,謝謝」一鍵關閉,並顯示商品的實際價格。
- 真實的 5 分鐘倒數。第一次顯示時,到期時間就記錄在裝置上。app 關閉時它照樣繼續倒數,重新開啟也不會歸零。時間到了,這個優惠在這次安裝中就消失。如果在那之前關掉,會有一個小標籤顯示剩餘時間,只有點它才會重新打開優惠。
- 上鎖的寶箱。它顯示使用者在新手引導期間獲得的物品,而且只顯示這些,在 app 解鎖前保持上鎖。沒有任何地方說它們會消失。
這些元素都寫在審核備註中。退件沒有指出任何畫面,所以我不會把它們說成已經通過 Apple 認可。在我看來,它們是這些機制的透明版本,而且我都主動申報了。
因為所有問題都在 app 內,修正需要一個新的 build。TradaZen 在 2026 年 10 月 13 日重新送審。
會觸發 5.6 的付費牆 dark pattern
Apple 沒有公布清單。同一種機制常有兩個版本:設陷阱的版本,和讓人自由選擇的版本。下表把兩者分開,綜合了規則條文、其他開發者公開的退件經驗和我自己的案例。透明版本不保證一定通過,它只是不試圖欺騙的那個版本。最後一欄說明每一列的依據。
| 操控版本 | 透明版本 | 依據 |
|---|---|---|
| 叉叉點了不是關閉,而是打開優惠 | 叉叉就是關閉。無法關閉的畫面不顯示叉叉 | 我的 TradaZen 退件後修正 |
| 關閉付費牆時突然跳出「一次性」優惠 | 折扣放在一個清楚標示的按鈕後面 | Apple 論壇上公開的退件 |
| 拒絕後再推出第二個優惠,搭配價格誤導的付費牆 | 購買取消後只有一個優惠,顯示實際價格,一鍵就能關閉 | Cal AI 案例;Superwall 轉述的交流 |
| 回到 app 時付費牆或優惠自己重新打開 | 只在使用者碰到限制,或點了標示清楚的按鈕時才出現 | 我的 TradaZen 退件後修正 |
| 使用者從未要求的促銷通知 | 取得明確同意後才促銷,並可在 app 內取消訂閱 | 規則 4.5.4 |
| 假倒數,會歸零,或結束後優惠又回來 | 真實的期限,app 關閉也繼續倒數,結束就真的結束 | 我對「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:沒有在 app 內取得明確同意,或沒有提供取消訂閱的方式,就不能用通知做促銷。
價格方面,Apple 的訂閱說明頁面寫得很清楚:實際收費金額必須是最醒目的價格元素。理由只有一句:「This ensures that people are not misled.」規則 3.1.2 也補充,Apple 會下架用不實包裝或「bait-and-switch」手法販售訂閱的 app。
我現在用的檢驗方法:每個按鈕是否完全做到它外觀所承諾的事?使用者能不能一個動作就說不,而且優惠不會自己再跑回來?
比較常見的付費牆錯誤,也就是會讓你少賺錢但不一定會被拒的那些,寫在 iOS 付費牆:7 個新手錯誤。
如何修正 5.6 退件
- 列出整個購買流程。付費牆、次要優惠、倒數計時、通知、回到 app 時的再次推銷。Apple 不一定會說它針對什麼。逐一確認每個元素都是透明版本:一鍵可關閉、倒數是真的、價格正確、不會自動跳回來。修正或移除所有看起來像陷阱的東西,而不只是最可能的那一個。
- 重跑審核人員的流程。刪除 app、重新安裝、完成新手引導,然後全部拒絕:關閉、取消、離開 app、再回來。記下每一個你沒要求卻打開的畫面,並確認你能一鍵關閉它。
- 準備新的 build。原因在 app 裡,也就是在打包進去的程式碼中。遠端更新不能取代 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 會拒絕 app。
送審前的防 5.6 檢查清單
- 每個叉叉都會關閉畫面。無法關閉的畫面不顯示叉叉。
- 每個按鈕都清楚說明它做什麼,畫面上和 VoiceOver 都一樣。
- 沒有任何優惠藏在關閉按鈕後面。
- 如果你保留了因拒絕而觸發的優惠,它只有一個不會重新計時的時間窗口,顯示實際價格,一鍵就能關閉。
- 回到 app 時,沒有任何付費牆或優惠會自己重新打開。
- 沒有在 app 內取得明確同意,就不發促銷通知。
- 沒有假倒數:顯示的期限是真的,不會歸零,結束就真的結束。
- 畫面上顯示為已獲得的東西,真的已經獲得,而且沒有威脅會失去。
- 試用期標示長度和之後收取的價格。
- 實際收費金額是畫面上最醒目的價格。
- 審核備註說明了 build 中的每個優惠和每個提醒。
- 你已經在 iPhone 和 iPad 上,用全部拒絕的方式重跑過流程。
在 Apple 之前先讓人檢查你的付費牆
Review Kit 收錄了我的送審前檢查清單、我修正過的退件案例,以及兩個 Claude Code skill,會檢查你的專案、付費牆和商品頁面。如果 Apple 拒絕了,它們會幫你準備回覆。想要真人幫你看,預約一小時跟我討論:我們一起在你的螢幕上重跑購買流程。被拒後的完整處理方式在 app 被 Apple 拒絕 頁面,訂閱的技術部分則在 iOS app 內訂閱。
如果你正在準備第一次上架,做一下免費診斷:它會幫你把步驟排好順序,並寄給你我的防 Apple 退件檢查清單。首頁說明如何打造一款手機 app,從一開始就把付費牆設計得經得起審核。
沒有人能保證 Apple 一定會通過你的 app。我能做的,是幫你避開一個我已經付出一輪審核代價的 5.6 退件。
常見問題
退件中的「Guideline 5.6 - Developer Code of Conduct」是什麼意思?
這是開發者行為準則規則的名稱。對有 App 內購買的 app 來說,它最常代表購買流程被判定為操控性的:假關閉、自己跳回來的優惠、以誤導方式呈現的試用或價格。訊息不一定會指出是哪個畫面。
Apple 禁止離開優惠嗎?
條文沒有明文禁止。RevenueCat 也這麼說,但同時提醒有開發者因此被拒。公開的退件案例針對的是使用者關閉付費牆時跳出的優惠,或拒絕後再推出的第二個優惠。透明版本的差別在於:優惠是選擇性的,只有一個不會重新計時的時間窗口,顯示實際價格,一鍵可關閉,不會自己跑回來,如果有倒數也是真的。把它寫進審核備註。沒有人能保證審核人員會這樣解讀。
沒有叉叉的付費牆可以嗎?
規則沒有強制要有叉叉,而這也是 TradaZen 在這次退件後的選擇。Apple 拒絕的,是看起來像關閉卻做別的事的按鈕。不過,曾有開發者回報一個免費下載的 app 因為付費牆沒有出口而收到 5.6 退件。在要求試用之前先展示價值,並在商品頁面清楚說明這是付費 app。
5.6 退件後需要新的 build 嗎?
大多數情況需要,因為原因出在 app 的某個畫面或行為。如果問題在 app 外,例如商品頁面或中繼資料,不用新 build 的修正可能就夠了。不確定時,直接問審核人員指的是哪個畫面。
5.6 退件會導致開發者帳號被關閉嗎?
規則規定,重複的操控行為會導致被踢出開發者計畫。規則也規定,被關閉的帳號在提出書面改善計畫、經 Apple 核准並驗證後可以恢復。所以第一次被拒就把整個流程修好,才是上策。
5.6 和 5.6.3 有什麼不同?
5.6 是一般性的行為準則:尊重、信任、不能用詐術換來購買。5.6.3 是它的子規則之一,針對排名、搜尋和評論的操控。Apple 曾因 Solys 在新手引導中放了評分請求而引用這條規則。

