DCloud_云服务_Mal
DCloud_云服务_Mal
  • 发布:2019-05-08 18:46
  • 更新:2025-01-04 14:18
  • 阅读:1137653

DCloud appid 用途/作用/使用说明

分类:云服务

DCloud appid(以后简称 appid) 是 DCloud 应用的唯一标识,在 DCloud 提供的所有服务中,都会以 appid 来标记一个应用。注意这和各家小程序的appid以及Apple的appid(其实就是iOS的包名)是不同的体系。

本文将介绍DCloud appid 的各种使用场景。

管理 appid

创建应用

  • 在 HBuilderX 中创建项目时,HBuilderX 会自动联网生成 appid, 并将该 appid 保存在 manifest 文件中的 appid 字段;
  • 登录开发者中心,也可以创建 uniapp、5+app 等类型应用的 appid;
  • wap2app 项目比较特殊,wap2app 项目的 appid 是在 HBuilderX 中本地生成的,需要提交云打包后,appid 才会同步到服务端;如果在开发者中心的应用列表中查找不到 wap2app 项目的 appid,提交一次云打包即可。
  • 认领 wap2app appid:如果开发者发现自己创建 wap2app 项目 appid 被其他人占用时,可以登录开发者中心,点击“wap2app应用认领”完成自助认领。认领前请先确认是否是由同事或其他认识的人所创建,如由同事创建也可通过转让应用的方式将 appid 转移到对应账号下。

注意:以下场景不会自动生成 appid,开发者可以登录开发者中心自行创建。

  • 使用离线打包
  • 使用 cli 创建 uniapp 项目

创建者即为该应用的所有者。一个应用只能有一个所有者,但可以设置多个协作者。

查看应用列表

登录 开发者中心 可以查看自己创建的应用列表。

增加协作者

1个应用有一个管理员,但可以有多名协作开发者。
在使用app云端打包时,协作开发者也有权对该Appid进行云打包。
如何授权应用(设置协作者)

转让应用

应用的管理员可以将应用转让给他人。常见于员工离职和外包商转让给甲方。
如何转让应用

使用场景

  1. 云打包
    • DCloud 根据 appid 来判断用户是否有权限进行云打包。既不是所有者、又不是协作者,就无法打包;
    • 打包后的原生应用根据 appid 来管理本地资源。每个appid有独立的沙盒,存储是隔离的;
    • 热更新(wgt升级)通过 appid 来覆盖资源
  2. 数据统计
  3. 广告
  4. 换量
  5. uni push
  6. 制作发行页面
  7. 用户反馈
  8. 购买原生插件
  9. uni云端一体安全网络

修改 appid

  • 在 HBuilderX 打开 manifest.json,在“基础配置”界面点击“重新获取”,可以生成新的 appid。注意:项目名称不变时,不会分配新的 appid。
  • 通过 manifest.json 源码视图修改 appid,适用于需要将 appid 修改回历史 appid 的场景。

修改 appid 将会引发的问题

  • 使用新 appid 打包的应用在更新时,会丢失老版应用本地缓存的数据,包括plus.storage、uni.setStorage保存的数据、plus.io保存的文件、plus.sqlite的数据等
  • 无法使用新的 appid 进行 wgt 升级
  • 开发者中心提供的相关云服务会出现多个应用,如统计数据、广告、换量、崩溃日志、用户反馈数据等。
  • uni push需要重新配置,否则无法推送
  • 如果在插件市场购买过原生插件,这些插件会绑定appid。修改 appid 后无法继续使用插件,需要重新购买。
  • 已开通uniad增强广告的应用,修改 appid 后会导致广告无法正常展示。
  • uni云端一体安全网络将无法使用
25 关注 分享
skysowe 河南dev 3***@qq.com 1***@163.com sonicsunsky 1***@qq.com 1***@qq.com 2***@qq.com 吃藕 普通人6 小刘童鞋 AQASLAC 无缺啊 2***@qq.com 1***@qq.com qingyou g***@foxmail.com 1***@qq.com 1***@163.com code_y HRK_01 2***@qq.com 6***@qq.com 2***@qq.com z***@163.com

要回复文章请先登录注册

Doray

Doray

为什么我创建项目的时候没有appid全都是空的。
2019-10-08 15:23
一爿阳光

一爿阳光

之前一直用的自定义的appid现在,还想用那个怎么办
2019-09-27 11:32
琦琦宝贝

琦琦宝贝

之前是用的H5+写的 现在准备换uniapp ,APPID需要重新配置吗,之前的还能用吗
2019-08-08 10:58
有问

有问

回复 a***@163.com :
你解决了吗?我也正想问这个问题,不过我是想迁移H5+到uniapp,只保留一个包名,但估计sha1签名这些都会变,会导致无法接收通知,无法正常支付等等问题,怕是要去再修改一遍申请的东西,那可真是蛋疼。
2019-08-05 10:56
c***@126.com

c***@126.com

如果我只写个模块项目提供给别人个入口链接访问(嵌入到别人的微信小程序),是不是可以不用app ID。
2019-06-24 19:23
shwanYu

shwanYu

回复 z***@163.com :
同问。
2019-06-01 20:13
a***@163.com

a***@163.com

回复 z***@163.com :
我这边app内部热更新请求除了发送appname version 还写死了数据库里app对应的id值
2019-05-29 12:30
a***@163.com

a***@163.com

回复 z***@163.com :
单纯热更新可以解决 但是启用unipush会影响热更新
2019-05-29 12:29
z***@163.com

z***@163.com

回复 a***@163.com :
楼主解决了吗?我也遇到了同样的问题,HX打包appid必须是__UNI__为前缀,现在我的包也升级不了
2019-05-29 11:19
a***@163.com

a***@163.com

您好,我这边有这样一个问题,我一开始以为这个appid是hbuilder做标识的名字,且在配置文件中看起来是不可选的,所以没有在意,在开发多款app的时候是在同一套代码的不同分支上进行,最后云打包时提交的自定义com.XXX.p1包名是各自独立的,但是最近我做unipush的时候发现,这几个app用的是同一个 hbuilder包名,这样就造成unipush无法使用,且热更新没办法通过包名获取热更新文件,目前我是通过应用名来做的判断,有没有方法可以获取到自定义的com.XXX.p1包名呢?或者有没有不影响热更新的同时,又把几个app分离出来呢?因为app都已上线,所以希望能解决这个问题
2019-05-17 14:03