Community程式設計與開發github.com

BaronCyrus/ship-wechat-minigame

微信小游戏渠道:将 Unity 游戏转换为微信小游戏,从账号注册到版本提审,适用于个人主体和纯广告变现模式。

ship-wechat-minigame 是什麼?

该技能旨在帮助开发者将 Unity 游戏完整发布为微信小游戏,覆盖从零开始的完整流程:账号注册、实名认证、资质提交、微信认证、小游戏与小程序(ICP)备案、快适配 SDK 集成、Unity 工程适配、构建导出、真机验证、开发者工具上传、运营素材配置,直至版本提审和发布上线。技能特别针对个人主体和纯广告变现模式设计,实测基于 Unity 6000.6 工程,并提供了针对 Unity 6 的必要补丁(如 B7 补丁解决首屏黑屏问题)。它支持单机和联网游戏,但强调在备案前必须明确网络类型。技能提供了详细的工程要求(包括中文显示、存档、安全区适配、广告ID降级等代码修改)、后台操作步骤(如开通快适配、适龄提示、隐私保护指引),以及提审闸门流程。同时,它还包含了等待期间的预期时长、被拒或卡住时的排查指南(troubleshooting),以及上线后开通流量主和收款的关键信息。该技能可作为 ship-my-game 总入口的第 3 步后续步骤。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BaronCyrus/ShipMyGame/tree/HEAD/skills/ship-wechat-minigame

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

微信小游戏:從註冊到提審

目標:把用戶的 Unity 遊戲轉成微信小遊戲,辦完資質和兩項備案,並提交版本審核,直到「版本管理 → 審核版本」顯示審核中。

先做:確認 ship-my-game 的第 1~4 步已完成(進度檔案、渠道、體檢、瀏覽器)。沒完成就先讀它。

來源標記

  • [實測]:在真實的個人主體帳號上做成功過。
  • [官方]:按官方文檔整理,附連結。
  • 「已在後台核對」:2026-11-02 在真實後台讀到了頁面和字段,但沒有提交過。

實測覆蓋範圍(截至 2026-11-08)

  • 已實測:註冊、開通快適配、Unity 6 包在真機上運行、資質審核(已通過)、微信認證(已完成)、小遊戲備案(主管部門已通過)、小程序備案(平台初審已通過)、用開發者工具上傳、體驗版、提交審核(第一次因為第一次打開黑屏被駁回,補丁 B7 修好後重新提審,約 1 小時通過)、單機遊戲在拿到小程序備案號之前發布上線、運營素材(遊戲簡介、推廣文案、通用素材封面、豎版和橫版推廣圖、實機畫面豎版推廣視頻)提交審核。
  • 只有 [官方] 依據:小程序備案初審之後的環節、命令行上傳、灰度發布、聯網遊戲的發布條件、運營素材的審核結果、通用類推廣視頻、流量主和收款。

本人事項

階段事項
P1註冊帳號:填 email 激活碼、實名、管理員微信掃碼。實測約 20 分鐘 [實測]
全程掃碼登錄 mp.weixin.qq.com。會話不到一天就會過期,過期後要重新掃碼 [實測]
P2掃碼登錄微信開發者工具;決定是否開啟工具的「服務端口」(屬於安全設置) [實測]
P3用手機微信掃預覽碼試玩。預覽碼約 25 分鐘後失效 [實測]
P4資質提交時簽字、交材料;微信認證:同意協議、身份驗證、付費 [實測]
P5小遊戲備案第 1 步用手機掃碼簽署三份文件;在手機微信裡截備案截圖;點最後的「提交」 [實測]
P6小程序備案:身份證兩面照片、精確到門牌的通訊地址、兩個本人手機號(負責人和應急聯繫人)和郵箱、人臉核身、勾選同意條款 [實測];備案省份是廣東或新疆時手寫承諾書;初審通過後 24 小時內完成工信部短信核驗 [官方](備案操作指引、材料示例)
P7走命令行上傳時,生成「小程序代碼上傳密鑰」,一般要管理員掃碼(未實測)
P8在提審閘門裡說「提交」;審核通過後由用戶決定發布,並用管理員微信掃碼確認 [實測]
上線後開通流量主時同意廣告協議;開通後補財務資料:開戶名稱、身份證號、銀行帳號 [官方](廣告、payouts.md)

工程要求(總入口第 3 步對照)

引擎版本

  • 官方的說法 [官方]:
    • 支持 Unity 2018~2022 和團結引擎,推薦 2022.3 或團結引擎(推薦引擎版本)。
    • SDK 更新日誌寫的是「支持Unity6,預覽版本不建議上線使用」(CHANGELOG)。
  • 本倉庫實測 [實測]:Unity 6000.6 打 12 處補丁後,能在真機上運行,補丁已經寫進腳本。以前的「安卓偶發黑屏」是引擎不等資源包,第一次提審因此被駁回,已由補丁 B7 修好(見 build.md 第 10 節)。
  • 怎麼選:
    • 新項目:用 2022.3 LTS 或團結引擎。
    • 已有的 Unity 6 工程:可以走本倉庫的補丁路線。先把「官方只算預覽」告訴用戶,再寫進進度檔案。

平台模塊:WebGL Build Support。

SDK

  • 用 scripts/fetch_wxsdk.sh 拉取,版本固定在 v0.1.34。
  • 不要用 v0.1.35 預覽版:它把插件換成了 WX-WASM-SDK-V3,現有補丁可能失效。

AppID:必須用正式小遊戲的 AppID,並且開通「快適配」。測試號跑不了 Unity 包 [實測]。

包體大小

  • 官方上限:主包 ≤ 4MB,總包 ≤ 30MB [官方](代碼包)。
  • 首包資源放在包內時,Unity 文檔按 20MB 算(UsingLoader),所以按 20MB 控制。
  • 實測包體 13~14MB [實測]。

必須改的代碼(全部 [實測],做法見 build.md 和 capabilities.md):

  • 中文字型子集,並設為 fallback。
  • 存檔改用 WX.StorageSetStringSync,每次關鍵操作後立即存。
  • 安全區和右上角膠囊按鈕的避讓改用 WX.GetWindowInfo、WX.GetMenuButtonBoundingClientRect 計算。
  • 刪掉外鏈、應用商店評分、Google 服務入口;只在安卓用的代碼包進 #if UNITY_ANDROID。
  • 主頁標題顯示已註冊的中文遊戲名,備案截圖需要它。
  • 廣告位 ID 為空時,廣告按鈕安全降級,不報錯、不卡流程。
  • 在 WX.InitSDK 的回調裡再啟動遊戲。

網路類型:先決定「單機」還是「聯網」,小遊戲備案前就要定好。

  • 單機遊戲的隱私保護指引只能選「未處理用戶信息」(已在後台核對)。
  • 所以單機遊戲不能用好友排行榜、剪貼板、用戶信息這類隱私接口(推斷,依據見 console.md)。

階段

P1 帳號與後台初始化

  1. 用戶已經有小遊戲帳號就跳到第 2 條。沒有的話,按 onboarding.md 打開註冊頁,帶用戶註冊個人主體、一級類目選「小遊戲」 [實測]。
  2. 定遊戲名:用純中文,避免觸發軟著材料要求。名字在資質和備案提交後就鎖定,到小程序備案完成前不能再改。選類目時,個人主體避開文化互動、角色、牌類 [官方](類目設置)。規則見 listing.md。
  3. 開通快適配:「遊戲能力地圖 → 研發能力 → 生產提效包 → 快適配」,點「立即申請」,立即生效 [實測]。
  4. 在「開發管理 → 開發設置 → 開發者ID」讀出 AppID,寫進進度檔案和 publish/wechat/build.json [實測]。
  5. 在「帳號設置 → 基本設置」確認運營地區是「中國內地(大陸)地區」(已在後台核對)。
  6. 裝微信開發者工具的 Stable 版,不要裝 Minigame Build,然後請用戶掃碼登錄 [實測]。

完成標準:

  • 進度檔案裡有 AppID。
  • 「生產提效包」頁的快適配顯示「已開啟」。
  • 基本設置裡名稱和服務類目都已填寫。
  • 開發者工具已登錄。

P2 構建與導出

  1. 裝 WebGL 模塊,再運行 scripts/fetch_wxsdk.sh <工程>,把 SDK 內嵌到 Packages/ 並打補丁 [實測]。
  2. 把 scripts/ShipWeChatBuild.cs 複製到 <工程>/Assets/Editor/。再按 templates/build.json 寫 <工程>/publish/wechat/build.json [實測]。
  3. 用 ../ship-my-game/scripts/make_cjk_font.py 生成中文字型子集,並在 build.json 裡填好 cjkFont、latinFonts [實測]。
  4. 按「工程要求」改代碼 [實測]。
  5. 導出:執行 ../ship-my-game/scripts/unity_build.sh <工程> WebGL ShipWeChatBuild.Export wechat [實測]。
  6. 在開發者工具裡「項目 → 導入項目」,選 <工程>/Builds/wechat/minigame,點「信任並運行」,在模擬器裡把主流程走一遍 [實測]。
  7. 用 scripts/wx_cold_start.py 在模擬器裡復現一次第一次打開:刪緩存、讓資源包晚到 12 秒、編譯、看結論、還原。審核員就是這樣第一次打開的,自己手機上看不出來。步驟見 build.md [實測]。

完成標準:

  • 日誌裡有 [Ship] wechat export=SUCCEED。Unity 6 工程還要有 [Ship] framework patched,以及 [Ship] B7 開頭的一行。
  • 第一次打開的復現:模擬器先出加載頁再進主頁,wx_cold_start.py log 報 OK,最後已經 release。
  • 模擬器能進主頁,觸摸有響應,控制台沒有紅色報錯(可忽略的日誌除外)。
  • 預覽面板顯示的代碼包大小在上限以內。

細節和補丁對照表見 build.md。

P3 真機驗證

  1. 把預覽面板切到「二維碼預覽」。不要用「自動預覽」或「真機調試」 [實測]。
  2. 生成預覽碼,截圖發給用戶,或者讓用戶直接掃開發者工具裡的碼。碼大約 25 分鐘後失效 [實測]。
  3. 和用戶逐項核對 build.md 的真機清單:聲音、中文、觸摸、退出再進存檔還在、劉海和膠囊不擋界面、沒有打不開的入口、主頁顯示中文名。
  4. 手機上也做一次第一次打開:先在微信「最近使用」裡刪掉這個小遊戲,再掃碼。刪掉能不能清掉資源緩存還沒核實,結論以第 P2 階段模擬器裡的復現為準。黑屏就停下來按 troubleshooting.md 查,不要靠「重新進入小程序」過關:審核員只打開一次,第一次提審就是這樣被駁回的 [實測]。

完成標準:用戶在至少一台手機上確認清單全部通過。有安卓和 iOS 設備時兩種都測。

P4 後台必填項、資質與認證(可以和 P2、P3 並行)

  1. 適齡提示:「帳號設置 → 基本設置 → 適齡提示 → 去設置」。按 console.md 填好,用戶確認後點「提交審核」(已在後台核對)。
  2. 用戶隱私保護指引:「服務內容聲明 → 用戶隱私保護指引 → 去完善」。單機遊戲選「未以任何方式處理用戶的任何信息」,用戶確認後點「確認以上內容」(已在後台核對)。
  3. 資質提交:選「情況二:小遊戲當前及未來均不需要開通虛擬支付」,簽字材料由用戶完成 [實測]。見 filing.md。
  4. 微信認證:由用戶完成 [實測]。見 onboarding.md。
  5. 中宣部實名認證:不開通虛擬支付就不用操作,頁面原文寫了「無需開發者操作」(已在後台核對)。

完成標準:

  • 適齡提示顯示已提交或已通過。
  • 隱私保護指引不再顯示「未更新」。
  • 資質顯示審核中或已通過。
  • 微信認證已完成,或者已付費、正在審核。

P5 小遊戲備案

  1. 先確認四件事:
    • 名稱已定稿;
    • 資質已提交;
    • 適齡提示已提交;
    • 已有一個預覽版:主頁顯示中文名,關掉了「優化建議」彈窗。
  2. 打開備案表單,入口見 filing.md。第 1 步由用戶做:選遊戲類型和網路類型,再用手機掃碼簽署三份文件 [實測]。
  3. 第 2 步的文字由你填。先讀代碼核實,再照 templates/filing-content.md 寫場景、玩法、系統 [實測]。
  4. 把截圖清單給用戶,請他在手機微信裡截圖。你按欄目重新命名,用本機中轉法一次只傳一欄,傳完點「保存」,刷新後核對 [實測]。
  5. 走提審閘門:把要提交的內容列給用戶,用戶說「提交」後,點「下一步 → 信息預覽 → 提交」,或者請用戶自己點 [實測]。

完成標準:「小遊戲備案&發布流程指引」頁的小遊戲備案顯示「平台審核中」。進度檔案「等待中」寫明預計時長:平台初審 1~2 個工作日,主管部門審核 10~20 個工作日。

P6 小程序備案(ICP)

依據:小程序備案、備案操作指引、材料示例。填表到提交已實測,初審之後按官方寫。

  1. 等小遊戲備案顯示「主管部門已通過」,並且微信認證已完成。實測時,流程指引頁要求這兩項都完成後「開始備案」按鈕才可點 [實測]。
  2. 打開表單前,先把本人要準備的東西一次講清:身份證兩面照片、精確到門牌的通訊地址、兩個本人手機號和一個郵箱、人臉核身的背景要求;備案省份是廣東或新疆時,還要先手寫承諾書。並說好「提交」要等你核對。實測時用戶填完就直接提交了 [實測]。清單見 filing.md。
  3. 從流程指引頁的「開始備案」進入,會新開標籤頁「驗證備案類型」。情況一 / 情況二和備案類型都不用選 [實測]。
    • 用戶:選地區、傳身份證、點「驗證」;填通訊地址、手機號和郵箱;掃碼做人臉核身;簽承諾書(廣東、新疆)。
    • 你:起草「備註(必填)」給用戶確認(官方沒寫要求,未確認);讀「材料預覽」頁核對。
  4. 「材料預覽」頁走提審閘門:把服務內容、備註、上傳的材料列給用戶,地址和證件信息請用戶自己核對;底部的同意條款由用戶勾選;用戶說「提交」後再點 [實測]。
  5. 平台初審通過後,提醒用戶:收到 12381 發來的短信後,24 小時內到工信部備案網站完成核驗,超時會被退回 [官方]。

完成標準:後台顯示備案號已下發;或者首頁「備案與認證」的小程序備案顯示審核中(實測是「平台審核中」),進度檔案裡寫明提交時間、當前審核環節和預計時長。

P7 上傳開發版本與體驗版 [實測]

依據:協同工作和發布、miniprogram-ci。

  1. 確認導出的是本次要提交的版本:廣告位 ID 可以先空著,主頁名稱正確,「優化建議」彈窗已關。
  2. 上傳,兩種方式任選一種:
    • 開發者工具的「上傳」,填版本號和項目備註 [實測];
    • 命令行 scripts/wx_ci.js upload,需要上傳密鑰和 IP 白名單,見 automation.md(未實測)。
  3. 打開「版本管理 → 開發版本」,確認看到這個版本,再從「提交審核」旁的下拉箭頭把它「選為體驗版本」,請用戶掃體驗版碼做最後一次核對 [實測]。細節見 review.md。

完成標準:開發版本列表裡有這個版本號,體驗版能在手機上打開。

P8 提審閘門 [實測]

依據:版本審核。

  1. 核對前置條件:
    • 適齡提示和隱私保護指引都已完成;
    • 開發版本已上傳;
    • 遊戲內顯示的名稱和後台名稱一致。
  2. 在「版本管理 → 開發版本」點「提交審核」,按 review.md 填表。表單在新標籤頁的跨域 iframe 裡,只能截圖、按坐標操作。
  3. 走總入口的提審閘門:把渠道、版本號、包體大小、版本說明、隱私與廣告聲明、預計審核時長(官方正常 1 個自然日,實測 1~3 小時出結果)列給用戶,等用戶說「提交」。
  4. 點表單的「提交」,隱私合規提醒裡點「繼續提交」,然後讀「版本管理」,確認「審核版本」顯示審核中。

完成標準:「審核版本」顯示審核中。進度檔案寫明提交時間、預計時長,以及在哪裡查看結果(「版本管理」頁、站內信)。

等待期與上線後

等待中各項的時長(寫進進度檔案「等待中」)

  • 資質:實測已通過;頁面寫約 1 個工作日,官方寫 1~3 個自然日。
  • 小遊戲備案:平台初審 1~2 個工作日,主管部門 10~20 個工作日。實測 10-24 提交,10-31 已進入「主管部門審核中」,11-07 查看時已通過。
  • 小程序備案:官方寫情況二約 10~30 個工作日;後台還有 3~10(流程指引頁)和 2~22(版本管理頁的「需完成備案」彈窗)兩種寫法,按最長的給預期。平台初審 1~2 個工作日,被駁回後重新審核 7 個工作日。
  • 版本審核:官方約 1 個自然日;實測兩次都在當天出結果,約 3 小時(駁回)和約 1 小時(通過)。

等待期間不要做的事

  • 不要改名、不要遷移主體:兩項備案都會作廢、要重新來。
  • 不要點開發者工具裡的「插件有更新」:插件版本跟著 SDK 走 [實測]。

等待期間可以先做的事:接好廣告代碼(ID 留空),做截圖。

發布:審核通過後,在「版本管理 → 審核版本」點「提交發布」,選全量或分階段發布,再由管理員微信掃碼確認。發布前同樣先問用戶 [實測]。單機遊戲實測不用等小程序備案號;聯網遊戲按官方要先拿到備案號。見 review.md。

上線後

  • 運營素材:在「運營素材管理」填遊戲簡介、通用素材封面、豎版和橫版推廣圖、推廣文案和推廣視頻。它們決定搜索結果和發現頁裡怎麼顯示。圖文每項每月只能改 3 次,推廣視頻每週 10 套。先把樣圖、樣片和文案給用戶看,用戶同意再提交。見 listing.md [實測]。
    • 首頁頂部提示缺「推廣視頻-實機畫面」時,按 listing.md 的「做推廣視頻」錄真實遊戲畫面:豎屏遊戲 1080×1920、20~30 秒,畫面裡不加字、不加框。
  • 流量主:累計獨立訪客超過 100 才能開通(或者滿足遊戲圈條件)。開通當天補財務資料,再建廣告位,把 ID 填進遊戲,再發一版。見 capabilities.md,收款見 payouts.md。
  • 啟動失敗:上線後在後台「實時日誌」看失敗那次啟動的日誌,記進進度檔案。

被拒或卡住時:看 review.md 和 troubleshooting.md。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能