ship-my-game · git:20261102.507a11e · 2026-11-02 · sha256 ac3e46ca7811a201

ship-my-game git:20261102.507a11eA

Immutable. This exact content never changes and is served at /api/v1/blob/ac3e46ca7811a201.

---
name: ship-my-game
description: 上架 Unity 游戏的总入口:把用户做好的 Unity 游戏发布到 Google Play、微信小游戏或 TapTap 小游戏,从注册开发者账号一路推进到提交审核。用户说要发布、上架、提审某个渠道,问该选哪个渠道,或要接着上次的发布进度继续时使用。
---

# ShipMyGame:把 Unity 游戏推到提审

目标:用户只在浏览器里**一次登录**,其余由你完成,直到渠道后台显示「审核中」。中途只把**本人事项**交还给用户(定义见下文「全程规则」)。

本仓库每条步骤都带来源标记:`[实测]` 是在真实账号上跑通过的;`[官方]` 是按官方文档整理、还没有人实测走过的。走到 `[官方]` 步骤时更仔细地读页面,页面与 skill 不一致时以页面为准,并记进进度档案的「与 skill 不符」一节。

## 步骤

### 1. 读进度档案

在 Unity 工程根目录(有 `Assets/` 和 `ProjectSettings/` 的那层)找 `publish/STATE.md`,即**进度档案**。

- 有:从它的「下一步」继续,已完成的步骤不重做。
- 没有:按 [references/state-file.md](references/state-file.md) 新建,并把 `publish/private/` 加进工程的 `.gitignore`。

完成标准:进度档案存在,写明了本次推进的渠道和当前阶段。

### 2. 定渠道

用户没指定渠道时,把下表给用户,请他选。可以选多个,一次推进一个。

| | Google Play | 微信小游戏 | TapTap 小游戏 |
|---|---|---|---|
| 面向 | 海外安卓 | 国内微信用户 | 国内 TapTap 用户 |
| 注册费用 | 一次性 25 美元 | 注册免费;微信认证要交认证费(金额以页面为准) | 免费,需实名成为认证开发者 |
| 最快到「审核中」 | 当天:封闭测试版本送审,实测 10~42 分钟过审 | 上线前要过版本审核、小游戏备案、小程序备案三关,官方预估合计 13~37 个工作日 | 包体准入测试通过、前置备案(约 20 个工作日)通过之后;首次审核约 1~3 天 |
| 正式上线前的硬门槛 | 个人账号:至少 12 名真实测试者连续参加封闭测试 14 天,再申请正式版(审核通常 7 天内) | 两项备案;游戏名用纯中文 | 前置备案;无版号只能以「开放试玩」上线,不能内购 |
| 个人能否靠广告赚钱 | 能(AdMob,满 100 美元付款) | 能(流量主,累计 UV 超过 500 才能开通,个人免开发票) | 难:Unity 小游戏广告走 TapADN,结算要增值税专票,个人开不了 |
| Unity 产物 | AAB(安卓) | WebGL → 微信转换工具 | WebGL → TapTap 转换工具 |
| Unity 版本 | Unity 6 实测通过 | Unity 6 实测可在真机运行(要打补丁,脚本已内置),但官方只算预览;新项目优先 2022.3 LTS 或团结引擎 | 官方支持 Unity 2022+ 和团结引擎;Unity 6 实测未通过包体准入测试 |

目前收录的就是这三个渠道。用户要发 Steam、App Store、抖音小游戏等,如实说明本仓库还没收录、没有实测流程,可以按通用经验协助,但别承诺走得通。

完成标准:渠道写进进度档案。

### 3. 体检工程

按 [references/project-check.md](references/project-check.md) 检查工程,再对照渠道 skill 里的「工程要求」列出差距。

完成标准:进度档案里有一张「差距清单」,每条写明由谁改(你 / 用户)、改完怎么验证。

### 4. 准备浏览器

按 [references/browser.md](references/browser.md) 确定你用哪种方式操作后台(用户自己的 Chrome / 独立浏览器 / 无浏览器时的引导),写进进度档案。需要上传文件时看 [references/uploads.md](references/uploads.md)。

完成标准:你能读到渠道后台页面的文字(登录前读到登录页也算),并且知道这条路上每种文件怎么上传。

### 5. 交给渠道 skill

| 渠道 | skill |
|---|---|
| Google Play | `ship-google-play` |
| 微信小游戏 | `ship-wechat-minigame` |
| TapTap 小游戏 | `ship-taptap-minigame` |

skill 没有自动加载时,直接读同级目录里的 `../ship-<渠道>/SKILL.md`。渠道 skill 从「账号」阶段开始,用户已有账号就跳到下一阶段。

完成标准:渠道后台显示「审核中」(或该渠道的等价状态),进度档案记下提交时间、预计审核时长和查看结果的位置。

## 全程规则

### 一次登录

所有后台操作都在用户登录过的浏览器里进行。用户第一次登录时,你把登录页打开、告诉他登录哪个账号;之后的操作你来。登录过期时请用户重新登录,然后接着做。密码、短信验证码、扫码确认由用户本人完成。

### 本人事项

只有下面这些交给用户。每次交出去都说清:去哪、做什么、为什么非他不可、做完回来说一声。

- 付款:注册费、认证费。
- 实名:上传证件、人脸识别、手持证件、手写签名并拍照。
- 密码、短信验证码、扫码确认、手机上的授权弹窗。
- 法律协议:你先用三五句话讲清要点,由用户自己勾选「同意」。
- 平台要求真人完成的事:例如 Google Play 个人账号的真实测试者、在手机上扫码真机试玩、拍摄手机截图(某些平台要求截图带平台界面)。

其余一律你来:填表、写文案、做图、录屏、改代码、打包、上传、核对、排查审核意见。

### 提审闸门

点最终的「提交审核 / 发布」前:

1. 把要提交的内容列给用户:渠道、版本号、包体、商店文案要点、隐私与广告声明、提交后多久出结果。
2. 等用户在对话里说「提交」(或同等明确的话)。
3. 点击,然后读页面确认状态变成「审核中」。如果你的权限系统拦下了这次点击,把页面停在按钮上,告诉用户按钮在哪,请他点。

### 密钥与隐私

- 签名密钥、上传密钥、服务账号 JSON、上传代码用的私钥都放在工程外的 `~/.shipmygame/keys/<游戏标识>/`(文件权限 600),不进 git,不贴进聊天。生成后提醒用户另存一份备份:安卓上传密钥丢了要走找回流程。
- 证件照片、签字件留在用户自己指定的位置,不复制进工程。
- 含个人信息的材料(联系人、实名相关表格)放 `publish/private/`,它已在 `.gitignore` 里。
- 截图和录屏前确认画面里没有真实昵称、头像、通知栏消息。

### 如实

- 测试者、评论、资质、截图都必须真实。平台规则禁止的做法(诱导分享、导流到其他小程序收费、刷测试人数)不做,用户要求时说明后果。
- 某一步做不到时,写清卡在哪、试过什么、需要谁做什么,记进进度档案。

### 等待期

审核和备案以天、周计。进入等待时,在进度档案的「等待中」写清:开始日期、预计结束日期、在哪里看结果。然后去做不依赖它的事:素材、能力接入(成就、排行榜、广告)、另一个渠道。下次会话从第 1 步读档继续。