ship-wechat-minigame · git:20261102.507a11e · 2026-11-02 · sha256 59056d941bd875b0
ship-wechat-minigame git:20261102.507a11eA
Immutable. This exact content never changes and is served at /api/v1/blob/59056d941bd875b0.
--- name: ship-wechat-minigame description: 微信小游戏渠道:把 Unity 游戏转成微信小游戏,从注册小游戏账号推进到版本提审,主线是个人主体、纯广告变现。用户要发布、上架、提审到微信小游戏时使用;要接入微信小游戏的流量主广告、分享、排行榜、游戏圈、存档、安全区和胶囊按钮时使用;遇到微信小游戏黑屏、中文显示成方块、备案或认证卡住、审核被拒时也使用。 --- # 微信小游戏:从注册到提审 目标:把用户的 Unity 游戏转成微信小游戏,办完资质和两项备案,并提交版本审核,直到「版本管理 → 审核版本」显示审核中。 **先做**:确认 [ship-my-game](../ship-my-game/SKILL.md) 的第 1~4 步已完成(进度档案、渠道、体检、浏览器)。没完成就先读它。 **来源标记** - `[实测]`:在真实的个人主体账号上做成功过。 - `[官方]`:按官方文档整理,附链接。 - 「已在后台核对」:2026-11-02 在真实后台读到了页面和字段,但没有提交过。 **实测覆盖范围(截至 2026-11-02)** - 已实测:注册、开通快适配、Unity 6 包在真机上运行、资质审核(已通过)、微信认证(已完成)、小游戏备案(已提交,正在主管部门审核)。 - 只有 `[官方]` 依据:小程序备案、上传代码、提交审核、流量主。 ## 本人事项 | 阶段 | 事项 | |---|---| | P1 | 注册账号:填邮箱激活码、实名、管理员微信扫码。实测约 20 分钟 `[实测]` | | 全程 | 扫码登录 mp.weixin.qq.com。会话不到一天就会过期,过期后要重新扫码 `[实测]` | | P2 | 扫码登录微信开发者工具;决定是否开启工具的「服务端口」(属于安全设置) `[实测]` | | P3 | 用手机微信扫预览码试玩。预览码约 25 分钟后失效 `[实测]` | | P4 | 资质提交时签字、交材料;微信认证:同意协议、身份验证、付费 `[实测]` | | P5 | 小游戏备案第 1 步用手机扫码签署三份文件;在手机微信里截备案截图;点最后的「提交」 `[实测]` | | P6 | 小程序备案:证件照片、人脸核身、两个本人手机号(负责人和应急联系人)、24 小时内完成工信部短信核验 `[官方]`([备案操作指引](https://developers.weixin.qq.com/minigame/product/record/guidelines.html)) | | P7 | 走命令行上传时,生成「小程序代码上传密钥」,一般要管理员扫码(未实测) | | P8 | 在提审闸门里说「提交」;审核通过后点「发布」同样要用户确认 | | 上线后 | 开通流量主时同意广告协议 `[官方]`([广告](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/ad.html)) | ## 工程要求(总入口第 3 步对照) **引擎版本** - 官方的说法 `[官方]`: - 支持 Unity 2018~2022 和团结引擎,推荐 2022.3 或团结引擎([推荐引擎版本](https://developers.weixin.qq.com/minigame/dev/guide/game-engine/unity-webgl-transform/Design/UnityVersion.html))。 - SDK 更新日志写的是「支持Unity6,预览版本不建议上线使用」([CHANGELOG](https://github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk/blob/main/CHANGELOG.md))。 - 本仓库实测 `[实测]`:Unity 6000.6 打 11 处补丁后,能在真机上运行,补丁已经写进脚本;已知问题是安卓偶发黑屏。 - 怎么选: - 新项目:用 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 `[官方]`([代码包](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/code-package.html))。 - 首包资源放在包内时,Unity 文档按 20MB 算([UsingLoader](https://developers.weixin.qq.com/minigame/dev/guide/game-engine/unity-webgl-transform/Design/UsingLoader.html)),所以按 20MB 控制。 - 实测包体 13~14MB `[实测]`。 **必须改的代码**(全部 `[实测]`,做法见 [build.md](references/build.md) 和 [capabilities.md](references/capabilities.md)): - 中文字体子集,并设为 fallback。 - 存档改用 `WX.StorageSetStringSync`,每次关键操作后立即存。 - 安全区和右上角胶囊按钮的避让改用 `WX.GetWindowInfo`、`WX.GetMenuButtonBoundingClientRect` 计算。 - 删掉外链、应用商店评分、Google 服务入口;只在安卓用的代码包进 `#if UNITY_ANDROID`。 - 主页标题显示已注册的中文游戏名,备案截图需要它。 - 广告位 ID 为空时,广告按钮安全降级,不报错、不卡流程。 - 在 `WX.InitSDK` 的回调里再启动游戏。 **网络类型**:先决定「单机」还是「联网」,小游戏备案前就要定好。 - 单机游戏的隐私保护指引只能选「未处理用户信息」(已在后台核对)。 - 所以单机游戏不能用好友排行榜、剪贴板、用户信息这类隐私接口(推断,依据见 [console.md](references/console.md))。 ## 阶段 ### P1 账号与后台初始化 1. 用户已经有小游戏账号就跳到第 2 条。没有的话,按 [onboarding.md](references/onboarding.md) 打开注册页,带用户注册个人主体、一级类目选「小游戏」 `[实测]`。 2. 定游戏名:用纯中文,避免触发软著材料要求。名字在资质和备案提交后就锁定,到小程序备案完成前不能再改。选类目时,个人主体避开文化互动、角色、牌类 `[官方]`([类目设置](https://developers.weixin.qq.com/minigame/introduction/guide/type.html))。规则见 [listing.md](references/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`,点「信任并运行」,在模拟器里把主流程走一遍 `[实测]`。 完成标准: - 日志里有 `[Ship] wechat export=SUCCEED`。Unity 6 工程还要有 `[Ship] framework patched`。 - 模拟器能进主页,触摸有响应,控制台没有红色报错([可忽略的日志](references/troubleshooting.md)除外)。 - 预览面板显示的代码包大小在上限以内。 细节和补丁对照表见 [build.md](references/build.md)。 ### P3 真机验证 1. 把预览面板切到「二维码预览」。不要用「自动预览」或「真机调试」 `[实测]`。 2. 生成预览码,截图发给用户,或者让用户直接扫开发者工具里的码。码大约 25 分钟后失效 `[实测]`。 3. 和用户逐项核对 [build.md 的真机清单](references/build.md#真机验证清单):声音、中文、触摸、退出再进存档还在、刘海和胶囊不挡界面、没有打不开的入口、主页显示中文名。 4. 黑屏时点右上角「···」→「重新进入小程序」。把黑屏的次数记进进度档案 `[实测]`。 完成标准:用户在至少一台手机上确认清单全部通过。有安卓和 iOS 设备时两种都测。 ### P4 后台必填项、资质与认证(可以和 P2、P3 并行) 1. 适龄提示:「账号设置 → 基本设置 → 适龄提示 → 去设置」。按 [console.md](references/console.md#适龄提示) 填好,用户确认后点「提交审核」(已在后台核对)。 2. 用户隐私保护指引:「服务内容声明 → 用户隐私保护指引 → 去完善」。单机游戏选「未以任何方式处理用户的任何信息」,用户确认后点「确认以上内容」(已在后台核对)。 3. 资质提交:选「情况二:小游戏当前及未来均不需要开通虚拟支付」,签字材料由用户完成 `[实测]`。见 [filing.md](references/filing.md#资质提交)。 4. 微信认证:由用户完成 `[实测]`。见 [onboarding.md](references/onboarding.md#微信认证)。 5. 中宣部实名认证:不开通虚拟支付就不用操作,页面原文写了「无需开发者操作」(已在后台核对)。 完成标准: - 适龄提示显示已提交或已通过。 - 隐私保护指引不再显示「未更新」。 - 资质显示审核中或已通过。 - 微信认证已完成,或者已付费、正在审核。 ### P5 小游戏备案 1. 先确认四件事: - 名称已定稿; - 资质已提交; - 适龄提示已提交; - 已有一个预览版:主页显示中文名,关掉了「优化建议」弹窗。 2. 打开备案表单,入口见 [filing.md](references/filing.md#小游戏备案)。第 1 步由用户做:选游戏类型和网络类型,再用手机扫码签署三份文件 `[实测]`。 3. 第 2 步的文字由你填。先读代码核实,再照 `templates/filing-content.md` 写场景、玩法、系统 `[实测]`。 4. 把截图清单给用户,请他在手机微信里截图。你按栏目重命名,用本机中转法一次只传一栏,传完点「保存」,刷新后核对 `[实测]`。 5. 走提审闸门:把要提交的内容列给用户,用户说「提交」后,点「下一步 → 信息预览 → 提交」,或者请用户自己点 `[实测]`。 完成标准:「小游戏备案&发布流程指引」页的小游戏备案显示「平台审核中」。进度档案「等待中」写明预计时长:平台初审 1~2 个工作日,主管部门审核 10~20 个工作日。 ### P6 小程序备案(ICP)`[官方]` 依据:[小程序备案](https://developers.weixin.qq.com/minigame/introduction/guide/xcxba.html)、[备案操作指引](https://developers.weixin.qq.com/minigame/product/record/guidelines.html)。 1. 等小游戏备案显示「主管部门已通过」,并且微信认证已完成。实测时,流程指引页要求这两项都完成后「开始备案」按钮才可点。 2. 从「账号设置 → 基本设置 → 小程序备案 → 去完善」进入,或者从首页的流程指引进入。备案类型选新增备案。 3. 不敏感的字段由你预填:通信地址等。证件、人脸核身、两个手机号由用户本人完成,见 [filing.md](references/filing.md#小程序备案icp)。 4. 平台初审通过后,提醒用户:收到 12381 发来的短信后,24 小时内到工信部备案网站完成核验,超时会被驳回。 完成标准:后台显示备案号已下发;或者进度档案里写明当前审核环节和预计时长。 ### P7 上传开发版本与体验版 `[官方]` 依据:[协同工作和发布](https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/release.html)、[miniprogram-ci](https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html)。 1. 确认导出的是本次要提交的版本:广告位 ID 可以先空着,主页名称正确,「优化建议」弹窗已关。 2. 上传,两种方式任选一种: - 开发者工具的「上传」,填版本号和项目备注; - 命令行 `scripts/wx_ci.js upload`,需要上传密钥和 IP 白名单,见 [automation.md](references/automation.md)。 3. 打开「版本管理 → 开发版本」,确认看到这个版本,再把它「选为体验版」,请用户扫体验版码做最后一次核对。 完成标准:开发版本列表里有这个版本号,体验版能在手机上打开。 ### P8 提审闸门 `[官方]` 依据:[版本审核](https://developers.weixin.qq.com/minigame/introduction/guide/bbsh.html)。 1. 核对前置条件: - 适龄提示和隐私保护指引都已完成; - 开发版本已上传; - 游戏内显示的名称和后台名称一致。 2. 在「版本管理 → 开发版本」点「提交审核」,按 [review.md](references/review.md) 填表。表单要先有开发版本才能看到,字段以页面为准。 3. 走总入口的提审闸门:把渠道、版本号、包体大小、版本说明、隐私与广告声明、预计审核时长(正常 1 个自然日)列给用户,等用户说「提交」。 4. 点「提交审核」,然后读页面,确认「审核版本」显示审核中。 完成标准:「审核版本」显示审核中。进度档案写明提交时间、预计时长,以及在哪里查看结果(「版本管理」页、站内信)。 ## 等待期与上线后 **等待中各项的时长**(写进进度档案「等待中」) - 资质:实测已通过;页面写约 1 个工作日,官方写 1~3 个自然日。 - 小游戏备案:平台初审 1~2 个工作日,主管部门 10~20 个工作日。实测 10-24 提交,10-31 已进入「主管部门审核中」。 - 小程序备案:情况二约 10~30 个工作日。 - 版本审核:约 1 个自然日。 **等待期间不要做的事** - 不要改名、不要迁移主体:两项备案都会作废、要重新来。 - 不要点开发者工具里的「插件有更新」:插件版本跟着 SDK 走 `[实测]`。 **等待期间可以先做的事**:接好广告代码(ID 留空),做截图。 **发布**:审核通过并且拿到备案号后,在「版本管理 → 审核版本」点「发布」,选全量或分阶段发布。发布前同样先问用户 `[官方]`([协同工作和发布](https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/release.html))。 **上线后** - 流量主:累计独立访客超过 500 才能开通(或者满足游戏圈条件)。开通后建广告位,把 ID 填进游戏,再发一版,见 [capabilities.md](references/capabilities.md#广告流量主)。 - 安卓黑屏:上线后在后台「实时日志」看失败启动的日志,记进进度档案。 **被拒或卡住时**:看 [review.md](references/review.md#被拒或卡住) 和 [troubleshooting.md](references/troubleshooting.md)。