蒲公英文档中心

上传与发布

通过 API 上传 App 到蒲公英的接口说明,包含快速上传三步流程、HarmonyOS 证书与 Hsp 文件上传,以及旧版上传接口。

本页介绍通过蒲公英 API 上传应用的所有接口。推荐使用快速上传流程,速度更快、稳定性更高。

快速上传 App(新版)

代码调用示例:https://github.com/PGYER/upload-app-api-example

获取预上传 URL:调用 getCOSToken 拿到上传地址和签名参数。

上传应用文件:将应用文件以 multipart/form-data 方式 POST 到上一步返回的 URL。

轮询发布结果:调用 buildInfo 查询应用是否发布完成,直到返回成功或失败。

获取上传的 token

获取预上传 URL 和相关的签名参数。

POSThttps://www.pgyer.com/apiv2/app/getCOSToken

请求参数

参数名类型必填说明
_api_keyStringAPI Key,请见 鉴权说明
buildTypeString应用类型。iOS 传 iosipa,Android 传 androidapk,HarmonyOS 传 harmonyoshap
overseaInteger是否使用海外加速上传:1 使用海外加速,2 使用国内加速;留空根据 IP 自动判断
buildInstallTypeInteger应用安装方式,默认 1。1:公开安装,2:密码安装,3:邀请安装
buildPasswordStringApp 安装密码,为空时默认公开安装
buildDescriptionString应用介绍,如没有请传空字符串或不传
buildUpdateDescriptionString版本更新描述,如没有请传空字符串或不传
buildInstallDateInteger是否设置安装有效期:1 设置有效时间,2 长期有效;不填写则不修改上一次的设置
buildInstallStartDateString安装有效期开始时间,如 2018-01-01
buildInstallEndDateString安装有效期结束时间,如 2018-12-31
buildChannelShortcutString指定更新的渠道短链接。渠道必须已创建成功,且只能指定一个,如 abcd

返回数据

参数类型说明
keyString上传文件存储标识唯一 key
endpointString上传文件的 URL
paramsObject上传文件需要的参数,包含 signaturex-cos-security-tokenkey
{
  "code": 0,
  "message": "",
  "data": {
    "endpoint": "https://upload-v7.upload.cos.ap-shanghai.myqcloud.com",
    "key": "apps/xxx/yyyy/zzzz.apk",
    "params": {
      "signature": "q-sign-algorithm=sha1&q-ak=...&q-signature=...",
      "x-cos-security-token": "...",
      "key": "apps/xxx/yyyy/zzzz.apk"
    }
  }
}

上传文件到上一步获取的 URL

将应用文件上传到 getCOSToken 返回的 endpoint 地址。

上传成功后,应用会自动进入服务器后台队列继续发布流程。这一步返回成功并不代表发布完成,通常 1 分钟内完成。发布状态请调用下一步的 buildInfo 接口检测。

POST<上一步响应中 endpoint 的值>

请求需设置 Content-Type: multipart/form-data

请求参数

参数名类型必填说明
keyString从上一步响应中获取
signatureString从上一步响应中获取
x-cos-security-tokenString从上一步响应中获取
x-cos-meta-file-nameString上传的原始文件名,如 app-release.apk
fileFileApp 文件的本地路径

返回数据

  • 上传成功:返回 HTTP 状态码 204 No Content
  • 上传失败:返回相应错误信息说明。

检测应用是否发布完成

检测应用是否发布完成,并获取发布应用的信息。

GEThttps://www.pgyer.com/apiv2/app/buildInfo

请求参数

参数名类型必填说明
_api_keyStringAPI Key,请见 鉴权说明
buildKeyString第一步中返回的 key

返回数据

返回值分为以下三种情况。

参数类型说明
buildKeyStringBuild Key,唯一标识应用的索引 ID
buildTypeInteger应用类型(1:iOS; 2:Android)
buildIsFirstInteger是否是第一个 App(1:是; 2:否)
buildIsLastestInteger是否是最新版(1:是; 2:否)
buildFileSizeIntegerApp 文件大小
buildNameString应用名称
buildVersionString版本号,默认为 1.0(向用户宣传时用到的标识,例如 1.1、8.2.1)
buildVersionNoString上传包的版本编号,默认为 1(即编译版本号,Android 上叫 Version Code。iOS 为字符串,Android 为整数,例如 1001、28)
buildBuildVersionInteger蒲公英生成的用于区分历史版本的 build 号
buildIdentifierString应用程序包名,iOS 为 BundleId,Android 为包名
buildIconString应用 Icon 图标 key,访问地址为 https://cdn-app-icon2.pgyer.com/<buildIconPath>/<buildIcon>?x-oss-process=image/resize,m_lfit,h_120,w_120/format,jpg,buildIconPath 为 buildIcon 前 5 个字符用 / 连接。例如 buildIcon = 123abcdefaaa,buildIconPath = 1/2/3/a/b
buildDescriptionString应用介绍
buildUpdateDescriptionString应用更新说明
buildScreenShotsString应用截图 key,访问地址为 https://www.pgyer.com/image/view/app_screenshots/<screenshot_key>
buildShortcutUrlString应用短链接
buildQRCodeURLString应用二维码地址
buildCreatedString应用上传时间
buildUpdatedString应用更新时间
{
  "code": 0,
  "message": "",
  "data": {
    "buildKey": "a1b2c3d4e5f6",
    "buildType": 2,
    "buildIsFirst": 2,
    "buildIsLastest": 1,
    "buildFileSize": 12345678,
    "buildName": "示例应用",
    "buildVersion": "1.1",
    "buildVersionNo": "28",
    "buildBuildVersion": 5,
    "buildIdentifier": "com.example.app",
    "buildIcon": "123abcdefaaa",
    "buildDescription": "示例介绍",
    "buildUpdateDescription": "修复若干问题",
    "buildScreenShots": "",
    "buildShortcutUrl": "abcd",
    "buildQRCodeURL": "https://www.pgyer.com/app/qrcode/abcd",
    "buildCreated": "2025-01-01 10:00:00",
    "buildUpdated": "2025-01-01 10:05:00"
  }
}
参数类型说明
codeInteger错误码,1247 应用正在发布中
messageString信息提示
{
  "code": 1247,
  "message": "应用正在发布中"
}
参数类型说明
codeInteger错误码,1216 应用发布失败
messageString信息提示
{
  "code": 1216,
  "message": "应用发布失败"
}

当返回 code = 1247(正在发布中)时,可间隔 3 ~ 5 秒重新调用接口进行检测,直到返回成功或失败。

上传 HarmonyOS App p12 证书

发布 HarmonyOS 的 hap 包时,需要上传 p12 签名证书。

POSThttps://www.pgyer.com/apiv2/app/uploadHarmonyCert

请求需设置 Content-Type: multipart/form-data

请求参数

参数名类型必填说明
_api_keyStringAPI Key,请见 鉴权说明
fileFile需要上传的 p12 文件
passwordStringp12 文件密码
buildKeyStringbuildKey

返回数据

参数类型说明
codeInteger返回结果 code,0 表示上传成功,大于 0 见 错误码含义

上传 HarmonyOS Hsp 文件

HarmonyOS 的 hap 如有 hsp 依赖时,需要上传相应的 hsp 文件。

POSThttps://www.pgyer.com/apiv2/app/uploadHarmonyHsp

请求需设置 Content-Type: multipart/form-data

请求参数

参数名类型必填说明
_api_keyStringAPI Key,请见 鉴权说明
fileFile需要上传的 Hsp 文件
buildKeyStringbuildKey

返回数据

参数类型说明
codeInteger返回结果 code,0 表示上传成功,大于 0 见 错误码含义

上传 App(旧版)

本接口上传速度较慢,建议使用 快速上传 App 替代。

POSThttps://www.pgyer.com/apiv2/app/upload

请求参数

参数名类型必填说明
_api_keyStringAPI Key,请见 鉴权说明
fileFile需要上传的 ipa 或 apk 文件
buildInstallTypeInteger应用安装方式,默认 1。1:公开安装,2:密码安装,3:邀请安装
buildPasswordStringApp 安装密码,为空时默认公开安装
buildUpdateDescriptionString版本更新描述,如没有请传空字符串或不传
buildInstallDateInteger是否设置安装有效期:1 设置有效时间,2 长期有效;不填写则不修改上一次的设置
buildInstallStartDateString安装有效期开始时间,如 2018-01-01
buildInstallEndDateString安装有效期结束时间,如 2018-12-31
buildChannelShortcutString所需更新的指定渠道短链接,只能指定一个,如 abcd

返回数据

参数类型说明
buildKeyStringBuild Key,唯一标识应用的索引 ID
buildTypeInteger应用类型(1:iOS; 2:Android)
buildIsFirstInteger是否是第一个 App(1:是; 2:否)
buildIsLastestInteger是否是最新版(1:是; 2:否)
buildFileSizeIntegerApp 文件大小
buildNameString应用名称
buildVersionString版本号,默认为 1.0
buildVersionNoString上传包的版本编号,默认为 1
buildBuildVersionInteger蒲公英生成的用于区分历史版本的 build 号
buildIdentifierString应用程序包名,iOS 为 BundleId,Android 为包名
buildIconString应用 Icon 图标 key,访问地址为 https://cdn-app-icon2.pgyer.com/<buildIconPath>/<buildIcon>?x-oss-process=image/resize,m_lfit,h_120,w_120/format,jpg,buildIconPath 为 buildIcon 前 5 个字符用 / 连接
buildDescriptionString应用介绍
buildUpdateDescriptionString应用更新说明
buildScreenShotsString应用截图 key,访问地址为 https://www.pgyer.com/image/view/app_screenshots/<screenshot_key>
buildShortcutUrlString应用短链接
buildQRCodeURLString应用二维码地址
buildCreatedString应用上传时间
buildUpdatedString应用更新时间

本页目录