uni-app uni多商店上传之更新发布实战指南
【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-app
导读
本文基于开源仓库 docs/uni-publish/update.md 编写,系统讲解 uni-app 生态中「uni多商店上传」的**更新发布(应用版本更新)**全流程:从首次创建渠道配置、上传 APK/IPA 安装包、完善应用发布信息,到选择立即发布或定时发布并提交审核。读完本文,你将掌握如何用一套 DCloud 开发者账号,将新版本 App 一键分发到 App Store、Google Play、华为、荣耀、小米、VIVO、OPPO、应用宝、魅族等多家应用商店,并结合仓库源码理解渠道包与版本号在工程中的实际落地方式。
一、uni多商店上传与「更新发布」在 uni-app 中的定位
「uni多商店上传」是 DCloud 面向 uni-app 开发者提供的应用商店分发服务,其核心能力是一键将应用发布到多家应用商店,替代以往逐个登录各家开放平台手动传包的低效流程。依据仓库文档 docs/uni-publish/intro.md 的说明,该服务当前支持的应用商店包括:App Store、Google Play、华为、荣耀、小米、VIVO、OPPO、应用宝、魅族。
其主要产品能力包括:
- 一键多发:一次上传、多处分发,大幅提升发版效率;
- 安全稳定:通过各大应用市场官方 API 上传应用,无需手动登录各家平台;
- 审核状态实时更新:提交后可在 DCloud 开发者中心实时查看在各商店的审核状态;
- 渠道包灵活分发:可针对不同应用商店分发不同渠道包,便于按渠道统计数据来源;
- 免 Mac 完成 iOS 全流程上架:搭配 HBuilderX 云打包,从打包、App Store 应用创建到上架全程无需 Mac 电脑。
「更新发布」与「应用首次上架」共同构成该服务的两条主线:前者面向已上架应用的版本迭代,后者面向新应用首次提交(详见 docs/uni-publish/first.md)。当你的 App 已上架各应用市场、需要推送新版本时,走的就是本文的更新发布流程。
二、前置准备:创建渠道配置
更新发布的第一步,是为你的应用在各应用商店建立「渠道配置」。渠道配置的本质是把各家应用市场开放平台分配的 API 传包凭证,预先登记到 DCloud 开发者中心,后续每次发布时系统据此调用对应商店的官方 API 完成传包与提审。
2.1 操作入口
- 使用DCloud 开发者账号登录 开发者中心;
- 选择
uni多商店上传栏目; - 首次使用时需先创建渠道配置,点击进入「渠道配置」页面;
- 参考 API 传包相关参数获取说明 获取各家平台参数,填写所需参数后点击「保存」。
配置命名建议:考虑到不同项目可能对应不同的应用市场账号,建议配置名称使用项目名或公司名以便区分,避免多项目共用账号时无法辨识。
2.2 各家应用市场的传包参数获取(核心参数速查)
渠道配置表单中需要填写的参数,均来自各应用市场开放平台分配的 API 凭证。以下为各渠道的核心参数与获取要点(完整分步图文操作见 docs/uni-publish/config.md):
| 渠道 | 需要填写的核心参数 | 获取途径要点 |
|---|---|---|
| 小米 | 公钥、私钥、小米账号 | 小米开放平台「管理中心 → 自动发布接口」,下载公钥文件读取公钥,点击「获取私钥」获得私钥,账号为登录开放平台的邮箱 |
| OPPO | client_id、client_secret | OPPO 开放平台「管理中心 → 产品 → 我的 API」,新建 API 客户端应用后平台分配;同一个秘钥可支持多个 APP 使用 |
| VIVO | access_key、access_secret | VIVO 开放平台「账号 → 账号管理 → API 管理」,点击「立即开通」后平台分配 |
| 荣耀 | client_id、密钥 | 荣耀开放平台「管理中心 → 凭证 → 申请凭证」,申请成功后平台分配 |
| 应用宝 | access_secret、UserID、(app_id) | 腾讯应用开放平台「账号 → 账号管理 → API 发布接口」,申请开通后分配 access_secret;UserID 在平台个人中心获取;当渠道包含应用宝且勾选「更新发布」时,还需填写 app_id |
| 华为 | client_id、密钥、(app_id) | AppGallery Connect「用户与访问 → API 密钥 → Connect API」创建,角色选择「APP 管理员」;当渠道包含华为且勾选「首次发布」时需填写 app_id |
| 苹果 | App 专用密码、Issuer ID、密钥 ID、密钥文件 | Apple 账户「登录和安全 → App 专用密码」创建专用密码;App Store Connect「用户和访问 → 集成 → App Store Connect API」查看 Issuer ID 并创建密钥 |
| Google Play | client_email、private_key(JSON 密钥文件) | Google Cloud 控制台启用 Google Play Android Developer API,创建服务账号并生成 JSON 类型密钥;再将服务账号邮箱作为新用户邀请进 Google Play 管理中心并授予发布相关权限 |
| 魅族 | Access Key、Access Secret | 魅族开放平台「API 凭证管理 → 获取凭证」,申请成功后平台分配 |
注意:请使用各应用市场主账号获取 API 传包相关操作,不要使用子账号,否则可能出现权限不足或没有操作入口的情况。
三、更新发布操作全流程
完成渠道配置后,即可开始正式的更新发布操作。整个流程分为四步:选择应用与发布类型 → 上传安装包 → 完善发布信息 → 发布设置与提交。
3.1 进入应用发布页面并选择「更新发布」
在 DCloud 开发者中心进入「uni多商店上传 → 应用发布」页面,选择要发布的应用,在发布类型中选择「更新发布」。
与之对应,「应用首次上架」用于新应用的第一次提交。若你的应用尚未在任何商店上架,应先走首次上架流程,详见 docs/uni-publish/first.md。
3.2 上传安装包
「更新发布」支持 Android 与 iOS 两种安装包形式,其中 Android 又支持单 APK 上传多个市场和多 APK(渠道包)上传多个市场两种模式:
- 单 APK 上传:一个 APK 同时投递到多个勾选的应用商店;
- 多 APK 上传:为不同应用商店分别上传对应渠道包,各商店展示/分发的包体可以不同;
- IPA 上传:iOS 版本通过上传 IPA 安装包,投递至 App Store。
上传完成后,系统会自动解析安装包内的相关信息(应用名称、包名、版本号、图标等)。若包体较大,请耐心等待解析完成。
上传校验红线:请确保安装包中的应用名称与包名和页面中填写的信息保持一致,否则可能导致上传失败或信息校验错误。
结合仓库源码:渠道包在工程中的真实形态
多 APK 渠道包并非随机命名,而是有明确的工程配置支撑。在仓库文档 docs/tutorial/app-package.md 中可以看到,APK 格式安装包支持配置渠道信息,默认提供的渠道配置项恰好与 uni多商店上传支持的 Android 商店一一对应:
| 渠道名称 | 渠道标识 |
|---|---|
| 华为 | huawei |
| OPPO | oppo |
| VIVO | vivo |
| 小米 | xiaomi |
| 荣耀 | honor |
| 应用宝 | yyb |
默认渠道不够时,可在manifest.json的源码视图中通过__hbuilderx.channel_list配置自定义渠道,例如:
{ "__hbuilderx": { "channel_list": [ { "id": "lenovo", "name": "联想" } ] } }保存后重新打开「App 打包」界面,新渠道即会出现在「APK 渠道包」列表中。应用中可通过uni.getAppBaseInfo()返回的channel属性读取当前安装包所属渠道;勾选「无」时该属性值为空字符串。这正是「多 APK 上传多个市场」能力在工程侧的来源——每个市场拿到携带自身渠道标识的独立安装包,便于后台按渠道统计下载与转化数据。
3.3 完善应用发布信息
上传安装包并完成解析后,需要填写/确认本次发布的应用信息。各家应用商店对发布素材有明确的格式要求,以下为通用字段及其填写规范(摘自 docs/uni-publish/first.md 的发布信息说明,更新发布同样适用):
| 参数名称 | 填写规范 | 备注 |
|---|---|---|
| 应用分类 | 根据应用实际场景选择分类,分类选择不合适可能被驳回 | — |
| 兼容设备 | 根据分发场景选择手机、平板或手机和平板 | — |
| 年龄分级 | 按 3+/8+/12+/16+/18+ 标准选择,内容越受限分级越高 | 华为渠道的内容分级无法通过传包 API 完成,须在 AppGallery Connect 手动配置 |
| 一句话简介 | 5 至 13 字,不能包含标点符号和空格 | — |
| 应用介绍 | 60 至 500 字 | — |
| 版本说明 | 5 至 200 字的新版本特性 | — |
| 审核留言 | 可向各市场审核人员补充说明 | 若应用需注册账号使用,可提供测试账号密码,否则可能被驳回 |
| 隐私政策 | 填写隐私政策完整网址,以 http 或 https 开头 | — |
| 应用图标 | 与安装包中图标一致;512×512px,PNG,小于 1M | — |
| 应用截图 | 至少 4 张、至多 5 张,内容与功能相符且不得重复;竖向 1080×1920px,PNG,单张不超过 1MB | — |
| 备案信息 | 填写备案主体名称、统一社会信用代码 | 市场会按信用代码与包名查询备案情况 |
| 版权证明 | 支持 APP 电子版证书、计算机软件著作权登记证书 | — |
应用发布信息中的「版本号」应与安装包内的版本信息一致。仓库 src/manifest.json 中即通过
versionName(应用版本名称)与versionCode(应用版本号,必须是整数,范围 1~2147483647,升级时必须高于上一次的值)两个字段管理版本,打包时会被写入安装包,进而被 uni多商店上传解析校验,详见 docs/collocation/manifest.md。
3.4 发布设置:立即发布 or 定时发布
完善发布信息后,进入「发布设置」,在以下两种策略中选择其一并点击「确认提交」:
- 审核通过后立即发布:人工审核通过后,应用立即在对应应用商店上架,供用户搜索与下载;
- 定时发布:指定希望的上线时间点。若实际审核通过时间晚于设定时间,则会在审核通过后立即上线(即设定时间仅作为最早上线时刻的承诺,不会被延误)。
提交后,可在 uni多商店上传的应用列表中实时跟踪各商店的审核状态。
四、更新发布常见问题与排查思路
结合 docs/uni-publish/faq.md 中记录的实战问题,更新发布最常见的失败场景集中在华为与OPPO两个渠道:
4.1 华为:APK 编译超时
- 原因:APK 包名存在冲突或无法安装;
- 排查:登录 AppGallery Connect,进入应用的历史版本页面,在「软件包管理」中查看具体原因后重新打包上传。
4.2 华为:内容分级为空(错误码 204144660)
- 报错信息:
[cds]submit failed, additional msg is [The history of questionnaire feedback content ratings is empty .] - 原因:应用的内容分级信息未在 AppGallery Connect 中配置,而该配置当前无法通过 Publishing API 自动完成;
- 解决:登录 AppGallery Connect 手动配置内容分级后,回到 DCloud 开发者中心重新发布。
4.3 华为:备案主体信息为空(错误码 204144660)
- 报错信息:
[cds]submit failed, additional msg is [registeredEntity and registeredEntityName can not be empty.] - 原因:备案主体名称或备案主体统一社会信用代码信息为空;
- 解决:确认该应用是否为首次上架。若是首次上架,发布类型必须选择「应用首次上架」。
4.4 OPPO:一句话简介不合规
- 报错:提示一句话简介不能为空、不能多于 13 个字符;
- 原因:OPPO Publishing API 对一句话简介有严格规范。若开发者中心未更新这些信息,系统会回退使用 OPPO 开发平台中已有的信息,信息不合规即发布失败;
- 解决:在 DCloud 开发者中心将一句话简介更新为不多于 13 个字符、不含任何标点符号和空格,再重新发起发布。
五、与 uni-app 工程侧的衔接建议
为让「更新发布」一次通过、减少反复,建议在开发与打包阶段就做好以下三件事:
- 版本号管理:每次发版在 manifest.json 中递增
versionCode(整数,1~2147483647)并同步更新versionName,保证安装包版本高于商店中现有版本; - 渠道包按需分发:需要按商店统计数据来源时,在「App 打包」界面勾选对应渠道标识(huawei/oppo/vivo/xiaomi/honor/yyb 等)生成渠道包,再走「多 APK 上传多个市场」;无此需求时使用单 APK 即可;
- 素材提前备齐:应用图标(512×512 PNG)、竖向截图(1080×1920 PNG,4~5 张)、一句话简介(5~13 字无标点)、隐私政策完整网址等素材在提审前备齐,避免因素材不合规被驳回后重新排队。
六、关联文档导航
uni多商店上传的完整知识体系由四份文档构成,建议按需查阅:
- docs/uni-publish/intro.md:服务介绍、产品优势与支持渠道总览;
- docs/uni-publish/first.md:应用首次上架教程(新应用第一版必读);
- docs/uni-publish/update.md:应用更新发布教程(本文主体);
- docs/uni-publish/config.md:各渠道 API 传包相关参数的详细获取说明;
- docs/uni-publish/faq.md:常见问题与报错排查。
【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-app
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考