微信小游戏:从注册到提审
目标:把用户的 Unity 游戏转成微信小游戏,办完资质和两项备案,并提交版本审核,直到「版本管理 → 审核版本」显示审核中。
先做:确认 ship-my-game 的第 1~4 步已完成(进度档案、渠道、体检、浏览器)。没完成就先读它。
来源标记
[实测]:在真实的个人主体账号上做成功过。[官方]:按官方文档整理,附链接。- 「已在后台核对」:2026-11-02 在真实后台读到了页面和字段,但没有提交过。
实测覆盖范围(截至 2026-11-08)
- 已实测:注册、开通快适配、Unity 6 包在真机上运行、资质审核(已通过)、微信认证(已完成)、小游戏备案(主管部门已通过)、小程序备案(平台初审已通过)、用开发者工具上传、体验版、提交审核(第一次因为第一次打开黑屏被驳回,补丁 B7 修好后重新提审,约 1 小时通过)、单机游戏在拿到小程序备案号之前发布上线、运营素材(游戏简介、推广文案、通用素材封面、竖版和横版推广图、实机画面竖版推广视频)提交审核。
- 只有
[官方]依据:小程序备案初审之后的环节、命令行上传、灰度发布、联网游戏的发布条件、运营素材的审核结果、通用类推广视频、流量主和收款。
本人事项
| 阶段 | 事项 |
|---|---|
| P1 | 注册账号:填邮箱激活码、实名、管理员微信扫码。实测约 20 分钟 [实测] |
| 全程 | 扫码登录 mp.weixin.qq.com。会话不到一天就会过期,过期后要重新扫码 [实测] |
| P2 | 扫码登录微信开发者工具;决定是否开启工具的「服务端口」(属于安全设置) [实测] |
| P3 | 用手机微信扫预览码试玩。预览码约 25 分钟后失效 [实测] |
| P4 | 资质提交时签字、交材料;微信认证:同意协议、身份验证、付费 [实测] |
| P5 | 小游戏备案第 1 步用手机扫码签署三份文件;在手机微信里截备案截图;点最后的「提交」 [实测] |
| P6 | 小程序备案:身份证两面照片、精确到门牌的通讯地址、两个本人手机号(负责人和应急联系人)和邮箱、人脸核身、勾选同意条款 [实测];备案省份是广东或新疆时手写承诺书;初审通过后 24 小时内完成工信部短信核验 [官方](备案操作指引、材料示例) |
| P7 | 走命令行上传时,生成「小程序代码上传密钥」,一般要管理员扫码(未实测) |
| P8 | 在提审闸门里说「提交」;审核通过后由用户决定发布,并用管理员微信扫码确认 [实测] |
| 上线后 | 开通流量主时同意广告协议;开通后补财务资料:开户名称、身份证号、银行账号 [官方](广告、payouts.md) |
工程要求(总入口第 3 步对照)
引擎版本
- 官方的说法
[官方]: - 本仓库实测
[实测]: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 账号与后台初始化
- 用户已经有小游戏账号就跳到第 2 条。没有的话,按 onboarding.md 打开注册页,带用户注册个人主体、一级类目选「小游戏」
[实测]。 - 定游戏名:用纯中文,避免触发软著材料要求。名字在资质和备案提交后就锁定,到小程序备案完成前不能再改。选类目时,个人主体避开文化互动、角色、牌类
[官方](类目设置)。规则见 listing.md。 - 开通快适配:「游戏能力地图 → 研发能力 → 生产提效包 → 快适配」,点「立即申请」,立即生效
[实测]。 - 在「开发管理 → 开发设置 → 开发者ID」读出 AppID,写进进度档案和
publish/wechat/build.json[实测]。 - 在「账号设置 → 基本设置」确认运营地区是「中国内地(大陆)地区」(已在后台核对)。
- 装微信开发者工具的 Stable 版,不要装 Minigame Build,然后请用户扫码登录
[实测]。
完成标准:
- 进度档案里有 AppID。
- 「生产提效包」页的快适配显示「已开启」。
- 基本设置里名称和服务类目都已填写。
- 开发者工具已登录。
P2 构建与导出
- 装 WebGL 模块,再运行
scripts/fetch_wxsdk.sh <工程>,把 SDK 内嵌到Packages/并打补丁[实测]。 - 把
scripts/ShipWeChatBuild.cs复制到<工程>/Assets/Editor/。再按templates/build.json写<工程>/publish/wechat/build.json[实测]。 - 用
../ship-my-game/scripts/make_cjk_font.py生成中文字体子集,并在 build.json 里填好cjkFont、latinFonts[实测]。 - 按「工程要求」改代码
[实测]。 - 导出:运行
../ship-my-game/scripts/unity_build.sh <工程> WebGL ShipWeChatBuild.Export wechat[实测]。 - 在开发者工具里「项目 → 导入项目」,选
<工程>/Builds/wechat/minigame,点「信任并运行」,在模拟器里把主流程走一遍[实测]。 - 用
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 真机验证
- 把预览面板切到「二维码预览」。不要用「自动预览」或「真机调试」
[实测]。 - 生成预览码,截图发给用户,或者让用户直接扫开发者工具里的码。码大约 25 分钟后失效
[实测]。 - 和用户逐项核对 build.md 的真机清单:声音、中文、触摸、退出再进存档还在、刘海和胶囊不挡界面、没有打不开的入口、主页显示中文名。
- 手机上也做一次第一次打开:先在微信「最近使用」里删掉这个小游戏,再扫码。删掉能不能清掉资源缓存还没核实,结论以第 P2 阶段模拟器里的复现为准。黑屏就停下来按 troubleshooting.md 查,不要靠「重新进入小程序」过关:审核员只打开一次,第一次提审就是这样被驳回的
[实测]。
完成标准:用户在至少一台手机上确认清单全部通过。有安卓和 iOS 设备时两种都测。
P4 后台必填项、资质与认证(可以和 P2、P3 并行)
- 适龄提示:「账号设置 → 基本设置 → 适龄提示 → 去设置」。按 console.md 填好,用户确认后点「提交审核」(已在后台核对)。
- 用户隐私保护指引:「服务内容声明 → 用户隐私保护指引 → 去完善」。单机游戏选「未以任何方式处理用户的任何信息」,用户确认后点「确认以上内容」(已在后台核对)。
- 资质提交:选「情况二:小游戏当前及未来均不需要开通虚拟支付」,签字材料由用户完成
[实测]。见 filing.md。 - 微信认证:由用户完成
[实测]。见 onboarding.md。 - 中宣部实名认证:不开通虚拟支付就不用操作,页面原文写了「无需开发者操作」(已在后台核对)。
完成标准:
- 适龄提示显示已提交或已通过。
- 隐私保护指引不再显示「未更新」。
- 资质显示审核中或已通过。
- 微信认证已完成,或者已付费、正在审核。
P5 小游戏备案
- 先确认四件事:
- 名称已定稿;
- 资质已提交;
- 适龄提示已提交;
- 已有一个预览版:主页显示中文名,关掉了「优化建议」弹窗。
- 打开备案表单,入口见 filing.md。第 1 步由用户做:选游戏类型和网络类型,再用手机扫码签署三份文件
[实测]。 - 第 2 步的文字由你填。先读代码核实,再照
templates/filing-content.md写场景、玩法、系统[实测]。 - 把截图清单给用户,请他在手机微信里截图。你按栏目重命名,用本机中转法一次只传一栏,传完点「保存」,刷新后核对
[实测]。 - 走提审闸门:把要提交的内容列给用户,用户说「提交」后,点「下一步 → 信息预览 → 提交」,或者请用户自己点
[实测]。
完成标准:「小游戏备案&发布流程指引」页的小游戏备案显示「平台审核中」。进度档案「等待中」写明预计时长:平台初审 1~2 个工作日,主管部门审核 10~20 个工作日。
P6 小程序备案(ICP)
依据:小程序备案、备案操作指引、材料示例。填表到提交已实测,初审之后按官方写。
- 等小游戏备案显示「主管部门已通过」,并且微信认证已完成。实测时,流程指引页要求这两项都完成后「开始备案」按钮才可点
[实测]。 - 打开表单前,先把本人要准备的东西一次讲清:身份证两面照片、精确到门牌的通讯地址、两个本人手机号和一个邮箱、人脸核身的背景要求;备案省份是广东或新疆时,还要先手写承诺书。并说好「提交」要等你核对。实测时用户填完就直接提交了
[实测]。清单见 filing.md。 - 从流程指引页的「开始备案」进入,会新开标签页「验证备案类型」。情况一 / 情况二和备案类型都不用选
[实测]。- 用户:选地区、传身份证、点「验证」;填通讯地址、手机号和邮箱;扫码做人脸核身;签承诺书(广东、新疆)。
- 你:起草「备注(必填)」给用户确认(官方没写要求,未确认);读「材料预览」页核对。
- 「材料预览」页走提审闸门:把服务内容、备注、上传的材料列给用户,地址和证件信息请用户自己核对;底部的同意条款由用户勾选;用户说「提交」后再点
[实测]。 - 平台初审通过后,提醒用户:收到 12381 发来的短信后,24 小时内到工信部备案网站完成核验,超时会被退回
[官方]。
完成标准:后台显示备案号已下发;或者首页「备案与认证」的小程序备案显示审核中(实测是「平台审核中」),进度档案里写明提交时间、当前审核环节和预计时长。
P7 上传开发版本与体验版 [实测]
- 确认导出的是本次要提交的版本:广告位 ID 可以先空着,主页名称正确,「优化建议」弹窗已关。
- 上传,两种方式任选一种:
- 开发者工具的「上传」,填版本号和项目备注
[实测]; - 命令行
scripts/wx_ci.js upload,需要上传密钥和 IP 白名单,见 automation.md(未实测)。
- 开发者工具的「上传」,填版本号和项目备注
- 打开「版本管理 → 开发版本」,确认看到这个版本,再从「提交审核」旁的下拉箭头把它「选为体验版本」,请用户扫体验版码做最后一次核对
[实测]。细节见 review.md。
完成标准:开发版本列表里有这个版本号,体验版能在手机上打开。
P8 提审闸门 [实测]
依据:版本审核。
- 核对前置条件:
- 适龄提示和隐私保护指引都已完成;
- 开发版本已上传;
- 游戏内显示的名称和后台名称一致。
- 在「版本管理 → 开发版本」点「提交审核」,按 review.md 填表。表单在新标签页的跨域 iframe 里,只能截图、按坐标操作。
- 走总入口的提审闸门:把渠道、版本号、包体大小、版本说明、隐私与广告声明、预计审核时长(官方正常 1 个自然日,实测 1~3 小时出结果)列给用户,等用户说「提交」。
- 点表单的「提交」,隐私合规提醒里点「继续提交」,然后读「版本管理」,确认「审核版本」显示审核中。
完成标准:「审核版本」显示审核中。进度档案写明提交时间、预计时长,以及在哪里查看结果(「版本管理」页、站内信)。
等待期与上线后
等待中各项的时长(写进进度档案「等待中」)
- 资质:实测已通过;页面写约 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。