HarmonyOS鸿蒙Next关于上架分发使用指导
HarmonyOS鸿蒙Next关于上架分发使用指导
上架
1、上架后是否修改可兼容设备类型?
说明:
- 请确保软件包里声明的设备范围大于等于AGC上勾选的支持设备范围。
- 在应用发布前,您都可以修改支持设备,支持由单设备改为多设备,或多设备改为单设备。但是应用一旦发布,升级时仅允许增加设备类型,不支持删除原有在架应用已选择的设备类型。例如,在架应用支持的设备类型为“手机”,升级应用时您无法取消勾选“手机”选项。
注意事项
- 秘钥库文件(.p12):通过DevEco Studio生成,秘钥包含非对称加密中使用的公钥和私钥。
- 证书请求文件(.csr):通过DevEco Studio生成,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
- 数字证书文件(.cer):在AGC上通过证书请求文件.csr生成对应的调试证书或发布证书。
2、关于受限权限
- 当前受限ACL权限申请仅支持中国大陆地区。
- 选择权限时,请注意各权限支持的设备类型,确保软件包声明的设备类型范围不超出申请的权限支持的设备类型范围,否则将导致应用/元服务安装失败。
- 一次最多可勾选申请10条权限。必须等待上一次权限申请审批结束后,才可提交新的权限申请。
3、关于证书文件及签名
a. 证书文件是否可以复用(证书复用的前提是共用一个发布证书)
文件 | 证书说明 | 是否复用 |
---|---|---|
秘钥库文件(.p12) | 通过DevEco Studio生成,秘钥包含非对称加密中使用的公钥和私钥 | √ |
证书请求文件(.csr) | 通过DevEco Studio生成,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书 | √ |
profile文件(.p7b) | 在AGC上通过应用名称以及数字证书文件生成.p7b文件,跟应用绑定,每个应用/元服务包中均必须包含一个Profile文件 | × |
数字证书文件(.cer) | 在AGC上通过证书请求文件.csr生成对应的调试证书或发布证书 | √ |
一个账号可以申请3个发布证书+1个调试证书。
b. 证书和profile文件都是这个月过期,新生成也是12.27过期?
- profile是跟证书绑定的,如证书是12.27过期,新生成的profile也是12.27号过期。
c. 使用调试证书和调试profile签名后就能在任何HarmonyOS设备上安装吗?
- 不能,只有调试profile文件中添加了对应UDID的设备才能安装,其他设备无法安装。
d. 发布证书和调试证书有什么区别,发布Profile和调试Profile有什么区别?
- 发布证书和发布Profile用于在应用上架时对APP进行签名,调试证书和调试Profile用于在本地调试时对HAP进行签名。
- 调试证书不可以用来上架发布,同理发布证书不能用来调试调试profile与发布profile流程上的区别:
e. AGC重签名会修改应用的签名吗,会导致应用升级时因签名不一致而无法更新吗?
- 不会,应用升级的签名由开发者决定,只要本地签名的密钥库文件(.p12)未发生变化,升级时签名就不会改变。
f. 更换发布证书会导致应用更新版本失败吗?
- 更换证书不会导致应用更新失败,但前提是证书是通过同一个CSR文件生成的,即需要确保密钥库文件(.p12)不变。需要注意的是,更换证书需同时更新Profile文件。
4、关于调试设备
- 一个账号每年最多可注册100台设备,如需删除调试设备,可勾选一个或多个设备,点击“批量删除设备”,在弹出窗口中点击“确认”即可。设备在添加后一年内被删除,该设备将置灰显示,如想重新添加一年内被删除的、置灰显示的设备,可通过单个添加设备的方式,重新编辑新的名称输入原UDID即可(注意:该设备注册时间依然是首次添加的时间为准)。
a. 如将手机设备类型选成了智能手表,是否会影响测试安装?
- 不影响,目前实际上不校验设备类型。
b. AGC设备列表界面的udid是否可以明文?
- 不可以,设备信息涉及隐私,后台UDID存储的时候是加密的。
5、鸿蒙单框架后续是否规划支持热修复计划?
- 后续暂无计划支持单框架热修复机制。
6、应用可以用上一个版本的versioncode和versionname上架吗?
- 版本大小只校验versionCode,可以提升versionCode而versionName不变。
- 如果更新版本versioncode要比之前的versioncode低会出现选不了对应的软件包。
7、关于测试应用
a. 邀请测试审核时间。
- 邀请测试是机审,一般是1-2小时完成,邀请测试不用备案信息,公开测试需要备案。
b. 邀请测试最多能允许多少个在架版本?
- 邀请测试最多允许3个版本同时在架,公开测试最多允许1个版本在架。所有测试版本数量不超过100个。
- 在架版本包括正在审核、等待生效、正在测试。
8、自动化上架api
相关api接口:
Publishing API(HarmonyOS) | Upload Management API | Domain Management API | Testing API | Provisioning API | Reports API | Project Management API | Comments API | PMS API | 在玩服务 |
---|---|---|---|---|---|---|---|---|---|
查询应用包名对应的appid | 获取文件上传地址 | 查询应用的域名配置信息 | 新建测试版本 | 申请证书 | 获取下载安装的报表 | 获取团队列表 | 查询评论列表 | 创建商品 | 上传/下架游戏资源 |
…
FAQ
关于发布应用相关FAQ可以参考发布应用-FAQ。
分发
1、发布企业内部应用
a. 发布企业内部应用是否可以用之前上架的账号?
- 不可以,必须准备一个未实名认证过的账号,目的是为避免权限冲突,需要与原企业账号之间进行权限隔离,故不可使用已实名认证的账号。
b. 企业分发无法进行关联认证(或者找不到关联认证入口)
- 这种一般先确认老的开发者账号信息是否为最新,如不是最新则需更新到最新并且通过审核后才可以发起关联认证。
c. 企业开发者(企业内部应用分发)实名认证申请指导文档
- 打款认证、人工审核实名认证、关联认证。
- 参考文档:企业开发者(企业内部应用分发)实名认证申请指导文档-申请指导。
d. 企业内部分发与应用市场分发能否保持包名不变?
- 为保证应用的唯一性,包名不能重复。
e. 企业内部分发的应用,能否通过应用市场安装?上架的应用,可以覆盖安装企业内部分发的应用么?
- 均不可以。
2、拉起应用市场详情页
- 参考文档:应用详情页展示。
3、按需加载
- 按需加载只支持.hap和.hsp包通过应用市场分发下载。
- 参考文档:产品特性按需分发(ArkTS)。
4、应用市场更新功能
- 参考文档:应用市场更新功能。
5、应用包体大小
- 包体大小跟以下几点均有关系:
- 影响包体的因素较多,客户打包压缩,AG客户端显示是不压缩,应用加密与否,按需下载的能力等,比较复杂。
- 比如按需下载动态库有关系,如果上传的包pad的hsp,手机上是不会下载的,加密文档也明确有提出加密后的应用相比不加密体积更大。
- 参考文档:应用加密-安全。
6、当前鸿蒙是否支持应用内下载安装应用?
- 鸿蒙不支持应用内下载安装应用,只能通过跳转应用市场,通过应用市场安装,当前系统分发策略是唯一分发策略,只能经过应用市场下载安装应用。
7、满足什么条件会出现在应用市场的“下载并安装新版本”里?
- 有老版本应用安装了且上架了应用新的版本。
8、邀请测试下载成功,安装失败
- 一般都是本地安装了旧版本,旧版本又是伙伴自己本地调试安装上去的,由于证书不匹配造成如果都是AG正常下载更新应该不会有问题,所以一般都是让伙伴把本地的应用先清理干净。
- 如还有问题,建议让伙伴收集日志,联系开发定位。
- 应用市场里面提交下应用市场日志,方法:打开应用市场 -> 我的 -> 帮助与客服 -> 问题与建议 ,输入任意问题描述,必须勾选共享应用日志,点击提交。
9、AGC报表和AG详情页里面的安装数量对比
- AGC界面的安装成功次数,是包含首次下载,卸载后下载,更新下载的。
- AG详情页:只会包含应用首次下载,或者预装应用首次更新下载,会按照华为账号去重。所以AG的详情页数据比AGC界面看到的安装量少。
- 两边的口径不一样,不能对等。
指标说明
指标 | 说明 |
---|---|
有效曝光次数 | 应用在华为应用市场推荐、排行榜、搜索等资源位被展示次数,图片露出50%以上且曝光时间大于1s才算有效曝光。 |
ICON点击次数 | 应用在华为应用市场内曝光的ICON被点击的次数。 |
有效曝光点击率 | ICON点击次数/有效曝光。 |
详情页访问次数 | 在华为应用市场内统计的应用详情页被浏览的次数。 |
总下载成功次数 | 更新下载成功次数 + 新下载成功次数。 |
更新下载成功次数 | 用户通过华为应用市场更新应用版本产生的下载成功次数。 |
新下载成功次数 | 用户通过华为应用市场新下载成功次数。 |
详情页转化率 | 详情页新下载次数(仅包括详情页带来的新下载次数)/详情页访问次数。 |
安装成功次数 | 应用在应用市场安装成功的次数。(包含更新安装成功次数+新安装成功次数)。 |
新安装成功次数 | 用户通过华为应用市场新下载并安装成功的次数。 |
安装成功率 | 新下载应用安装成功的比例,即新安装成功次数/新下载成功次数。 |
卸载次数 | 从所有渠道安装或更新的应用被卸载的次数。 |
10、低版本rom安装高版本的应用
- 一般会有系统弹框提示,该版本可能与系统不兼容,建议更新系统版本,否则可能会出现问题(比如闪退等现象)(如果系统版本没有最新的会出现图1,如果系统版本有更新的会出现图2)。
11、APP已上线是否有https下载链接
- https://appgallery.huawei.com/app/detail?id=<包名>跳转AG应用详情页下载。(应用市场详情页右上角也有分享链接按钮)。
12、应用间跳转方案如何选择?
跳转技术方案 | APPLinking | DeepLinking | weblink | 显式want |
---|---|---|---|---|
业界对标 | iOS:universal link、Android:App Links | URL Scheme、DeepLink | 普通网页链接,一种特殊类型的deeplink | 无 |
实现方案 | 1、应用包体中申明链接2、向系统注册域名,并通过域名认证 | 应用包体中申明链接 | 与应用无绑定关系,注册失败的AppLinking也将退化为Web link | 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability |
链接格式 | 1、scheme协议名称必须为https;2、host必须配置为关联的域名;3、path可选,为了避免匹配到多个应用,强烈建议配置该字段 | 1、scheme必填,一般由开发者自定义(此处为狭义定义,不包含https、http、file等sheme);2、host必选,配置待匹配的域名;3、path可选,为了避免匹配到多个应用,强烈建议配置该字段 | scheme为https或http | scheme为https,domainVerify为true |
是否可以用于分享或直接在网页中访问 | 可以 | 不可以,需在代码中调用 | 可以,但不推荐,访问时体验不能直达 | 不可行,在API12及以后版本,系统框架增加了应用间显式跳转的限制,应用间的跳转需要通过link跳转的方式实现 |
是否可以直接拉端 | 可以 | 可以但不推荐,存在被仿冒风险,仅仅为了部分开发者强要求三端链接一致时使用 | 不可以 | API 11及以前版本,可以使用显式want拉起其他应用。从API 12开始,已不再支持三方应用使用该方式拉起其他应用 |
目标应用已安装 &appLinkingOnly为false(默认) | 直接跳转打开目标应用 | 跳转目标应用(如果有多个时展示应用选择弹框) | 跳转默认浏览器打开网页 | null |
目标应用未安装 &appLinkingOnly为false(默认) | 跳转默认浏览器打开网页 | 返回失败,系统不跳转,由应用自行处理当前会展示链接无法打开弹框 | 跳转默认浏览器打开网页 | null |
目标应用已安装 &appLinkingOnly为true | 直接跳转打开目标应用 | 返回失败,系统不跳转,由应用自行处理 | 返回失败,系统不跳转,由应用自行处理 | null |
目标应用未安装 &appLinkingOnly为true | 直接跳转打开目标应用 | 返回失败,系统不跳转,由应用自行处理 | 返回失败,系统不跳转,由应用自行处理 | null |
适用场景 | 适用于社交分享、广告引流等需要外部链接访问应用的场景,以及对安全性和用户体验要求较高的场景 | 适用于需要在已安装的应用之间进行跳转,实现相对简单,但当无应用匹配时用户体验不佳。 | 未注册AppLinking或注册失败的http、https开头的网页链接,在默认浏览器中打开web页面预览内容 | 不推荐 |
参考链接 | 使用App Linking实现应用间跳转-拉起指定应用 | 使用Deep Linking实现应用间跳转-拉起指定应用 | null | 显式Want跳转切换应用链接跳转适配指导-拉起指定应用 |
13、当前系统有哪些应用分发方式?异同点有哪些?
分发方式 | 面向对象 | 规格 | 交互方式 | 特点 |
---|---|---|---|---|
邀请测试 | 可邀请特定群体用户参加测试 | 测试用户上限1000个 | 方式一:通知用户查看预留的邮箱或短信;方式二:测试发布方式选择了“生成分享链接”,则您可以复制该链接后,直接将其给到用户;方式三:在AGC的测试版本配置界面,测试发布方式选择了“生成分享链接”,且选择的测试用户群组中,有生效中状态的邀请码。则您可以将测试版本分享链接拼接邀请码后,给到用户。参与方式:(1)用户点击邮件/短信/分享链接,进入邀请测试的介绍页;(2)用户在邀请测试的介绍页,点击“开始测试”;(3)用户同意加入应用的测试群组;(4)进入应用测试版本的详情页,并点击下载安装;注意:邀请测试用户首次参与测试时,必须先通过邮件/短信通知的方式进入,首次同意加入群组后,后续可直接在应用尝鲜专区查找应用。 | 1)邀请测试不用备案;2)上架应用市场,开发者可以选择特定的用户群进行测试,这有助于确保反馈的质量;相对于公开测试,参与用户的数量可控,可以避免给系统带来过大的负载。 |
公开测试 | 面向全网所有用户 | 开发者自定义下载次数,上限10万 | 方式一:测试版本在AG客户端测试专区公开可见,所有用户均可下载测试;方式二:1、开发者线下用户群分享AG生成的测试链接;2、累计下载次数未达上限时,任何用户点击链接,均可拉起测试版本详情页下载安装 | 1)上架应用市场,公开测试可转全网发布或者分阶段发布;2)任何人都可以参与测试,可以获得来自不同背景、技能水平和地理位置的不同用户的真实反馈。 |
企业内部分发 (inhouse) | 企业内部员工 | 暂无限制 | 1、将编译得到的各个HAP/HSP包上传至您的服务器或第三方云上,获取HAP/HSP包下载URL,下载URL必须以“https”开头;2、使用该URL构造DeepLink链接(比如嵌入到H5页面)来拉起应用下载安装 | 1)不需要上架AG;不需要通过AG审核流程,可以更快地迭代和更新应用程序,企业可以直接控制应用的安装、更新和卸载; |
非公开发布 | 企业内部员工 | 一个账号最多可以申请100个应用 | 非公开发布仅可通过链接形式查看应用详情,以及下载安装和更新。 | 1)上架应用市场,以非公开方式在华为应用市场上发布,使其仅可通过链接被用户发现;2)账号必须是企业类型的主账号;3)需要填写非公开发布报名表,报名表限制填写次数10次;4)一旦申请为非公开发布,无法再次更改为公开发布。 |
内部测试 (ad hoc) | 开发团队内共享应用程序、或进行内部测试 | 支持设备数上限100台 | 1、将编译得到的各个HAP/HSP包上传至您的服务器或第三方云上,获取HAP/HSP包下载URL,下载URL必须以“https”开头;2、使用该URL构造DeepLink链接(比如嵌入到H5页面)来拉起应用下载安装 | 1)内部测试profile配置是受限开发需要申请白名单;2)不需要上架应用市场;开发者可以快速地将应用发送给指定的人员进行测试安装,无需通过应用市场的审核流程,暂不支持元服务。 |
更多关于HarmonyOS鸿蒙Next关于上架分发使用指导的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
HarmonyOS鸿蒙Next的上架分发流程主要包括应用开发、测试、签名、上架和分发。开发者需使用DevEco Studio进行应用开发,完成后进行功能测试和兼容性测试。应用需通过华为提供的签名工具进行签名,确保安全性。签名后,应用可提交至华为应用市场进行审核,审核通过后即可上架。分发渠道包括华为应用市场、AppGallery Connect等。开发者需遵循华为的开发者协议和上架规范,确保应用符合平台要求。
更多关于HarmonyOS鸿蒙Next关于上架分发使用指导的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
关于HarmonyOS Next应用上架分发的关键要点总结:
- 设备兼容性管理:
- 发布前可修改支持设备类型,发布后仅能增加设备类型
- 软件包声明的设备范围需≥AGC勾选范围
- 权限申请:
- 受限ACL权限仅支持中国大陆
- 需确保权限支持范围覆盖软件包设备声明
- 单次最多申请10条权限,需逐条审批
- 证书管理:
- 发布证书(3个)和调试证书(1个)配额限制
- Profile文件与证书绑定,不可复用
- 证书吊销会导致关联Profile失效
- 测试分发:
- 邀请测试支持3个并发版本
- 企业分发需使用未实名认证账号
- 非公开发布需企业主账号申请
- 分发特性:
- 支持按需加载.hap/.hsp模块
- 提供应用市场更新检测API
- 仅支持通过应用市场安装应用
- 提供AppLinking/DeepLinking跳转方案
- 注意事项:
- 版本号需递增更新
- 不支持热修复机制
- 低版本系统安装高版本应用会有兼容性提示
- 应用加密会增加包体积
建议开发者重点关注设备兼容性声明、权限申请规范以及证书管理策略,这些是上架过程中的关键环节。