在十個應用程式之間維持合規秩序
哪些東西真的必須每個應用程式各一份、哪些可以共用、應用程式組合常犯的兩個錯誤,以及把一年一度的手忙腳亂變成一個下午的登記表。
這項工作無法以線性方式擴展:每個應用程式都需要自己的網址、自己的刪除途徑和自己的聲明,因為每個應用程式都有自己的商店資訊頁。能夠擴展的是方法:一套主機名稱模式、每種頁面類型一個範本,以及每個應用程式一份重新產生而非靠記憶的相依套件清單。
改用幾分鐘完成這件事
AppFoyer 託管這篇指南所談的頁面:隱私權政策、服務條款、支援、帳戶刪除和 app-ads.txt,放在各自的子網域上,你不需要自己的網域或伺服器。一個應用程式免費,而且商店要求的任何內容都不會放在付費牆後面。
查核日期:2026年9月19日。 商店政策會變動,有時不會事先通知。以下所有內容都附上官方文件的連結,具有權威的是那個頁面,而不是本頁。如果兩者不一致,以商店為準。 本指南譯自英文;引用的商店文件保留英文原文。
一個應用程式是一份檢查清單。十個應用程式則是一個系統,而失敗的方式也隨之改變:沒有什麼事是困難的,但總有某個東西稍微過時了,而你是從最久沒碰的那個應用程式遭拒才發現的。
必須每個應用程式各一份的東西
沒得商量,因為每個應用程式都有自己的商店資訊頁和自己的資料處理行為:
- 隱私權政策。 不同的 SDK 組合意味著不同的揭露內容。一份涵蓋「我們的應用程式」的共用政策,是應用程式組合的典型錯誤,請見下文。
- 帳戶刪除頁面,以及一條能聯絡到你的途徑,每個應用程式各一份。
- Data safety 和 App Privacy 聲明。 每個商店資訊頁各自填寫,依據該應用程式自己的相依套件清單。
app-ads.txt,如果應用程式有顯示廣告;它是透過該應用程式商店資訊頁上列出的網站找到的。- 網址本身,因為每個商店資訊頁都有自己的欄位。
真正可以共用的東西
- 範本。 所有隱私權政策用同一個結構,條款也用同一個結構,再依每個應用程式填寫。
- 主機名稱模式。 每個應用程式一個可預測的網址,勝過一整個資料夾的臨時網址。
- 支援地址,如果真的由一個收件匣處理所有應用程式。
- 你對 SDK 的了解。 Crashlytics 或 AdMob 收集什麼,在每個應用程式中都是同樣的事實;不同的只是哪些應用程式包含了它們。
- 流程:發布檢查清單、審查週期,以及下面的登記表。
應用程式組合常犯的兩個錯誤
所有應用程式共用一份政策。 這是顯而易見的省事做法,但它會在兩個方向上出錯:政策列出了那個安靜的工具應用程式從未碰過的資料,又漏掉了最新的應用程式上個月新增的東西。這兩種情況都會和你誠實填寫的 Data safety 表單不一致,而比對兩者的審查人員會看到一份不是在講這個應用程式的政策。
一個沒人區分來源的共用刪除收件匣。 申請寄來時寫著「請刪除我的帳戶」,卻沒有說明是你十個應用程式中的哪一個。你無法處理你無法辨識的東西,而在你釐清的同時,GDPR 的時鐘正在走。請為每個應用程式的申請設定路由,讓通知一看就知道是哪個應用程式。
登記表
讓應用程式組合變得可管理的,是一張你真正會維護的表格;試算表就可以。每個應用程式一列,包含以下欄位:
| 欄位 | 原因 |
|---|---|
| 應用程式名稱、bundle / application id | 身分 |
| 上架的商店 | 決定要更新多少個控制台 |
| 隱私權政策網址 | 你反覆貼上的那一個 |
| 帳戶刪除網址 | 同上 |
| 支援地址 / 頁面 | 同上 |
| 宣告的開發人員網站 | 尋找 app-ads.txt 的地方 |
| 是否顯示廣告? | app-ads.txt 是否適用 |
| 是否有帳戶? | 刪除要求是否適用 |
| 主要 SDK | 相依套件清單的摘要 |
| 政策上次審閱日期 | 告訴你哪些已經過時的日期 |
最後一欄才是真正有價值的。兩個商店都要求聲明保持正確,而不只是上架時正確過;「上次審閱」能讓你不必讀完全部十個,就找出已經偏離的那三個應用程式。
行得通的週期
- 每次發布、每個應用程式: 有任何相依套件變更嗎?如果有,重新檢查該應用程式的政策和兩份資料表單。把它放進發布檢查清單,而不是靠記憶。
- 每季、整個應用程式組合: 打開登記表,依「上次審閱」排序,檢查最舊的幾個。確認每個網址在登出狀態下仍回傳 200。
- 每當網址搬移時: 為每個受影響的應用程式更新每個控制台,並讓舊網址持續重新導向。有十個應用程式時,這是最可能只完成十分之九的變更。
一個十行的指令碼,用 curl 檢查登記表中的每個網址並回報非 200 的結果,只需一個下午就能寫好,而且能抓到真正會發生的失敗:一個默默消失的主機。
AppFoyer 在這裡做什麼
每個應用程式都是獨立的應用程式:自己的子網域、自己的五個頁面、自己的 app-ads.txt、自己的通知管道、自己的檢查清單。沒有會出錯的共用政策,而每個應用程式的刪除申請都會標明是哪個應用程式。
控制台的檢查清單就是登記表中即時的那一半:它會依每個應用程式告訴你哪個商店欄位仍是空的,以及為什麼重要,所以「哪些已經過時」是一個畫面,而不是一個你忘了更新的試算表欄位。各方案的差別在於你可以發布多少個應用程式:Free 一個、Pro 十個、Advanced 五十個。
坦白說明這方面的限制:批次編輯和應用程式群組目前還不存在。 今天要在十五個應用程式中新增一行廣告聯播網設定,就是十五次編輯。這項工作已列入規劃,但尚未推出;一個向你推銷應用程式組合工具的頁面,應該說清楚其中哪些是真的。
權威來源
- Provide information for Google Play’s Data safety section:Google Play Console 說明,關於保持聲明正確
- App privacy details on the App Store:Apple,關於讓回答保持最新
- Set up app-ads.txt:AdMob 說明