Apple 於 2026 年 11 月 4 日公布 Retention Messages 可用,並說明 Sandbox 測試者可以看到最新草稿;因此,Sandbox 看不到訊息時,不要先把「未獲批准」當成答案。Apple 發布說明給出的判斷起點是:先分清 App Store Connect 配置式訊息,還是由伺服器即時選擇訊息的 Retention Messaging API,再依序核對訊息狀態、訂閱關聯與 Sandbox 取消流程;使用即時 API 的團隊還要追查回應和回退設定。
本週建議動作:先用 App Store Connect 預覽核對訊息素材,再以對應的 Sandbox Apple Account 走一次系統取消訂閱流程;若採用即時 API,同步保存請求與回應,避免只憑畫面猜測。
最後更新於 2026 年 11 月 8 日;資料核實自 Apple 的發布說明、App Store Connect 說明、Retention Messaging API 文件與 WWDC26 演示。以下只據 Apple 官方資料說明已確認行為;實際顯示仍須由你以目標帳號和訂閱重測。
先分流配置式訊息與即時 API
兩條路徑的差異不只是訊息從哪裡編輯,而是故障證據不同:配置式訊息要看管理介面中的狀態與關聯,即時 API 則要看 App Store 請求、伺服器回應及回退結果。先確認自己走哪條路,否則容易在錯的地方反覆改設定。
| 判斷維度 | App Store Connect 配置式訊息 | 即時 Retention Messaging API |
|---|---|---|
| 訊息選擇方式 | App Store Connect 中已配置並關聯的訊息 | 伺服器根據 App Store 的請求即時回傳選擇 |
| 優先查看的證據 | 訊息狀態、訂閱關聯、預覽素材與測試帳號條件 | 請求是否送達、回應是否有效、訊息與訂閱是否匹配 |
| 常見誤判 | 草稿尚未批准,就推斷 Sandbox 不會顯示 | 沒有收到預期訊息,就認定 API 無回退 |
| 下一步 | 對照 Sandbox 取消流程和訊息設定 | 追蹤回應內容,並對照 Apple 文件中的回退路徑 |
Apple 將 Retention Messages 描述為可在自動續訂訂閱取消流程中展示文案、圖片或優惠;配置式訊息的設定與預覽方式,應以官方配置指南為準。即時 API 的請求與回應則要對照Retention Messaging API 文件及WWDC26 官方演示。
場景案例:你在 App Store Connect 預覽看得到訊息,但 Sandbox 取消時沒有出現。若團隊採配置式路徑,先查測試中的訂閱是否與訊息關聯;若採即時 API,就要確認該次取消流程有沒有觸發伺服器請求,以及回傳的訊息識別資料是否對應同一訂閱。只比較預覽截圖,無法區分這兩種故障。
草稿可測不等於正式狀態已確認
Sandbox 測試和正式環境的審核狀態不能混為一談。Apple 說明 Sandbox 測試者可看到最新草稿,所以「尚未批准」本身不足以解釋測試畫面為空;但這也不代表所有草稿、帳號或訂閱組合都必然符合顯示條件。訊息狀態說明列出各狀態的含義,應與你目前測試環境一併核對。
已確認的資料點:Apple 的發布說明標明 Retention Messages 於 2026 年 11 月 4 日可用,並指出 Sandbox 測試者可看到最新草稿;以上屬於 Apple 公布的功能與測試規則,不是對你這個測試帳號的顯示保證。發布記錄
排查時,將「訊息狀態」和「環境」分開記錄:
- 在 App Store Connect 查明目前看到的是草稿、待審核、已批准或被拒絕等哪一種狀態;不要把狀態名稱互相代換。
- 確認正在操作的是 Sandbox,而非正式環境;也確認登入的 Sandbox Apple Account 是你預期用來測試的帳號。
- 將測試結果分成「Sandbox 是否呈現」與「正式發布是否可用」兩項。前者不能替代後者的審核判斷。
- 如果你是因為 App Store Connect API 4.6 的整合變更才開始調查,仍須單獨核對 Retention Messaging API 的文件;不要把版本字串相近當成端點已變更或未回應的證據。
訊息設定正確,不代表帳號符合條件
訊息已存在但測試者看不到時,優先查匹配關係,而不是重建整個專案。配置式訊息至少要核對它是否關聯到正在測試的自動續訂訂閱;如果訊息含優惠,還要獨立確認測試帳號是否符合該優惠的適用條件。優惠不適用,與訊息本身無法使用,是兩種不同的判斷。
逐項對照下列資料,避免只檢查文案:
- 訊息關聯的訂閱,是否與 Sandbox 中正在取消的訂閱一致。
- 測試帳號、目前登入狀態與使用的測試環境,是否符合這次驗收設定。
- 無優惠訊息能否在預覽中正常檢視;含優惠訊息則另外核對優惠本身的預覽與適用條件。
- 文案、圖片與優惠資訊是否分別呈現在你預期的位置,而非只以「有沒有看到訊息」作單一結果。
這裡要保留一條界線:預覽用於檢查已配置的內容,不是對所有 Sandbox 測試者的資格判定。你可以先按Apple 的配置指南核對訊息與訂閱,再用實際 Sandbox 帳號重現取消流程。
系統取消流程與自建按鈕不是同一項驗收
Sandbox 測試者必須透過 Apple 規定的訂閱取消路徑觸發驗證;在 App 內自行放一個「取消」按鈕,只能測試你自己的介面或程式分支,不能替代系統取消流程的驗收。Apple 的停用自動續訂測試說明提供 Sandbox 測試相關依據。
請把測試對象三者綁在一起記錄:Sandbox Apple Account、被取消的自動續訂訂閱、實際操作的環境。只要其中一項與訊息設定不一致,測試結果就不能直接用來判斷設定本身是否失效。
如果取消後仍看不到內容,依序回到可觀察的證據:先確認操作是否真的走過系統取消流程,再核對帳號和訂閱是否正確,最後回查訊息關聯或即時 API 記錄。這樣可以避免因為測試入口不符,就重新建立 Xcode 專案或更換整套開發環境。
即時 API 無回應時,追查回退而非猜畫面
即時 API 路徑要將成功、逾時及無效回應分別處理。檢查 App Store 發出的請求有沒有抵達服務端、服務端回應格式是否有效、選取的訊息識別資料是否與目標訂閱匹配。再按 Apple 文件核對即時回應、App Store Connect 已配置訊息與 API 預設訊息之間的回退路徑;不要先假設無回應必然顯示空白,也不要假設一定會套用某一條回退。
建議把每次測試整理成一筆可追蹤記錄:
- 測試環境、Sandbox Apple Account 與被取消的訂閱。
- 是否收到 App Store 請求,以及服務端收到的請求內容。
- 伺服器回應是否成功、格式是否有效,以及選中的訊息與訂閱是否相符。
- 最後實際呈現的內容,以及測試時採用的回退設定。
若需要進行正式環境前的效能驗證,依 Apple 的發起效能測試文件確認適用要求;API 限流則參照Apple 的限流說明。不要把效能測試要求或限流問題,直接當成 Sandbox 配置式訊息不顯示的原因。
按端到端證據定位故障位置
你可以用以下流程完成一次端到端復測,並將不符結果送回對應環節,而不是一開始就重建環境:
- 確認路徑:記錄本次測試使用 App Store Connect 配置式訊息,還是即時 Retention Messaging API。
- 核對素材:在 App Store Connect 預覽文案、圖片與優惠,並確認訊息關聯到目標自動續訂訂閱。
- 檢查狀態與條件:記錄訊息狀態、Sandbox 環境、Sandbox Apple Account,以及優惠是否適用。
- 執行真實流程:以該 Sandbox 帳號針對目標訂閱,透過 Apple 規定的系統入口取消自動續訂。
- 比對呈現:將實際畫面與預覽分開記錄;若走即時 API,保存請求、伺服器回應和最後選用的訊息。
- 回到證據點修正:預覽有內容而實際流程沒有,就查帳號、訂閱和取消入口;API 請求或回應異常,就查服務端鏈路;素材本身不符,才回到配置與狀態處理。
這種分段方式能區分管理介面設定、Sandbox 驗收與服務端選擇。若你還要整理遠端 macOS 構建與簽名環境,可先查看本站的Mac 開發與操作指南;它不會取代上述帳號、訂閱與 API 證據。
常見問題:Sandbox 顯示與資格判讀
Sandbox 取消訂閱時,為甚麼看不到 Retention Message?
先判斷你使用配置式訊息或即時 API,再確認 Sandbox 帳號、目標自動續訂訂閱、訊息關聯和系統取消入口。若只有含優惠的版本不出現,應另外檢查帳號資格,不要把優惠不適用直接判定成整則訊息失效。
未通過 App Review 的 Retention Message 可以在 Sandbox 測試嗎?
可以測試 Sandbox 是否能看到最新草稿,因為 Apple 說明 Sandbox 測試者可看到最新草稿;但這不等同正式環境已通過審核。你仍要分別記錄 Sandbox 呈現結果和正式環境的審核狀態。
訊息已配置但訂閱者看不到,應先查甚麼?
先核對訊息是否關聯到正在測試的訂閱,再確認 Sandbox Apple Account、取消流程和優惠條件是否一致。之後用 App Store Connect 預覽檢查文案、圖片及優惠,並透過系統取消入口重測,才能定位是素材、資格還是流程不匹配。
即時 Retention Messaging API 沒有回應,畫面會顯示甚麼?
不能只根據「無回應」推斷最後畫面。你需要比對 Apple 請求是否抵達、伺服器回應是否有效,以及文件所述的配置式訊息和 API 預設訊息回退;分開保存逾時、無效回應及成功回應的結果,才可判斷實際採用哪個分支。
如果排查後確認阻塞點是缺少 macOS/Xcode 環境來構建或簽名測試版本,遠端 Mac 租用可作為比立即購買硬體更靈活的短期選項;但它不會替你修正 Sandbox 帳號、訂閱關聯或 API 回應,而且需要實體裝置驗證的項目仍須按實際測試路徑安排。你可先了解 OSXPort 的遠端 Mac 環境,再判斷是否適合你的構建與簽名需求。
常見問題
為甚麼 Sandbox 取消訂閱時沒有出現 Retention Message?
先確認你測的是 App Store Connect 配置式訊息還是即時 API,再核對 Sandbox 帳號、正在取消的自動續訂訂閱、訊息關聯及取消入口。若訊息含優惠,也要確認測試帳號符合優惠條件;不要只憑預覽正常,就認定實際取消流程一定會呈現。
未通過 App Review 的 Retention Message 可以在 Sandbox 測試嗎?
可以將 Sandbox 的測試結果與正式環境的審核狀態分開判讀。Apple 說明 Sandbox 測試者可看到最新草稿,因此尚未批准不必然代表 Sandbox 無法顯示;但你仍須確認測試環境、訂閱關聯及實際取消流程,不能據此推論正式環境也會採用草稿。
Retention Message 已設定,為甚麼訂閱者仍看不到?
優先檢查訊息是否關聯到正在測試的自動續訂訂閱,再確認測試帳號是否符合訊息與優惠的適用條件。接著以 App Store Connect 預覽核對文字、圖片和優惠,並在 Sandbox 透過系統取消流程重測;預覽內容正確,不代表帳號必然符合呈現條件。
即時 Retention Messaging API 沒有回應時會顯示甚麼?
不要預設畫面一定空白,也不要把逾時、格式錯誤與有效回應混成同一種結果。依 Apple 文件核對即時選擇、App Store Connect 已配置訊息與 API 預設訊息之間的回退路徑,並記錄請求、回應和最後呈現的訊息,才能判斷是哪個環節接手。
