代管與審查

你的體驗由自己的來源提供,使用自己的名稱。以下說明該來源需要符合的條件,以及體驗加入覺城前的審查項目。

使用自己的來源

透過 HTTPS 在非覺城的來源提供體驗,例如 https://my-garden.example。不要在該處設定 Cookie,也不要與任何敏感內容共用。框架只允許執行指令碼及使用自己的來源,不開放其他權限。

框架無法執行的操作

  • 開啟彈出視窗或新視窗,或導覽框架所在的頁面。
  • 顯示 alert、confirm 或 prompt 對話框、提交表單或啟動下載。
  • 使用相機、麥克風、位置資訊或付款功能。允許全螢幕。
  • 得知訪客身分。框架不會收到來源頁網址,也不會取得平台 Cookie。

安全標頭

只允許覺城將你的頁面嵌入框架;除非確實需要,否則請封鎖網路存取。SDK 本身完全不需要網路存取。

http
Content-Security-Policy: default-src 'self'; connect-src 'none'; frame-ancestors https://zenclub.app; base-uri 'none'; object-src 'none'
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer

發佈固定版本

每次發佈都要在資訊清單和 connect() 中指定新版本。請將資源放在版本化路徑,或使用內容雜湊,讓已開始的工作階段繼續使用原先載入的檔案。遊玩中的訪客會留在原版本,新啟動的體驗則會使用目前版本。

封存發佈內容

seal 會為建置內容產生 SHA-256 清單,verify 則會在發佈前比對資料夾。這能找出遺漏或遭變更的檔案,但不代表數位簽章。

shell
npx zenclub-plugin seal dist
npx zenclub-plugin verify dist

審查清單

每個版本都會在出現在目錄前經過審查。以下是我們會先檢查的項目。

  • 一般手機能在 15 秒內就緒,且主控台沒有錯誤。
  • 暫停、恢復、隱藏與關閉都能正常運作,暫停時不會播放任何內容。
  • 重新載入後進度仍在;發生衝突時,絕不會默默覆寫儲存資料。
  • 遵循淺色、深色主題與減少動態效果設定,且不需要重新啟動。
  • 從寬度 390 像素的手機到寬螢幕桌機都能使用,並支援觸控、滑鼠與鍵盤。
  • 每個畫面都使用訪客選擇的語言。覺城支援英文、簡體中文、繁體中文、日文、韓文、法文、德文與西班牙文;單一畫面不會混用兩種語言。
  • 以平和為設計原則:沒有廣告、追蹤器、倒數壓力或暗黑模式設計。

提出審查申請

請附上資訊清單、待審查版本的入口網址,以及幾句體驗介紹,來信與我們聯絡。核准範圍僅限該版本、入口與功能集合。任何一項變更時,請以相同方式提交新版本。

城市里程碑請附上完整宣告與支援的存檔結構以供審查。啟用音效的遊戲推出前,先發布 1.5 版平台;啟用里程碑的遊戲推出前,再發布 1.6 版平台。平台回復舊版時,必須一併還原相容的核准授權與程式碼;城市資料表和玩家記錄須予保留。存檔結構若有變更,必須先核准資料投影才能回報。