APP 设置
查询和按需修改 APP 设置,包括安装方式、下载状态、显示历史版本与同版本号自动清理。
这些接口管理整个 APP 的持久设置,与 Dashboard 的 APP 设置共用数据和校验规则。单个版本的信息仍使用 应用信息接口。
查询 APP 设置
返回当前设置及可用操作。也支持 GET 请求,建议使用 POST,避免将 API Key 写入 URL。
https://www.pgyer.com/apiv2/app/settings请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| _api_key | String | 是 | 账号的 API Key,见 鉴权说明 |
| appKey | String | 是 | APP 的 appKey,可从应用列表获取;不是单个版本的 buildKey |
返回数据
data 包含下方可修改设置的当前值,但不返回 buildPassword、appInstallAnswer 明文。另外包含:
| 字段 | 类型 | 说明 |
|---|---|---|
| appKey | String | APP 标识 |
| buildPasswordSet | Boolean | 是否已设置安装密码 |
| appInstallAnswerSet | Boolean | 是否已设置问答答案 |
| allowedInstallTypes | Array | 该 APP 允许的安装方式,数字含义见下表 |
| abmEnabled | Boolean | 是否已开启 ABM 安装 |
| appSameVersionCleanupAvailable | Boolean | 当前账号是否可以管理该 APP 的同版本号清理 |
| appSameVersionCleanupRevision | Integer / null | 清理设置修订号,修改清理开关时须原样传回;无权限或暂不可用时为 null |
appSameVersionCleanupAvailable=false 时,appSameVersionCleanup 也为 null,不代表开关关闭。
{
"code": 0,
"message": "",
"data": {
"appKey": "0123456789abcdef0123456789abcdef",
"appDownloadStatus": 1,
"appDownloadNameType": 2,
"appAutoSync": 2,
"appDisplayAds": 1,
"appLang": 3,
"appFeedbackStatus": 2,
"appShowPgyerCopyright": 1,
"appDisplayInstallGuide": 1,
"appDisplayHistory": 1,
"buildVersionType": 1,
"buildInstallType": 2,
"buildPasswordSet": true,
"appInstallQuestion": "",
"appInstallAnswerSet": false,
"appIsInstallDate": 2,
"appInstallStartDate": "",
"appInstallEndDate": "",
"appSameVersionCleanupAvailable": true,
"appSameVersionCleanup": 2,
"appSameVersionCleanupRevision": 0,
"allowedInstallTypes": [1, 2, 3, 4, 5],
"abmEnabled": false
}
}修改 APP 设置
只提交需要修改的字段,未提交的设置保持原值。一次请求中的设置统一保存,任一字段校验失败时整次请求不生效。
https://www.pgyer.com/apiv2/app/updateSettings请求参数
使用 application/x-www-form-urlencoded 表单提交。_api_key、appKey 必填,并至少提供一个设置字段。不支持的字段、数组、空值或无效枚举会被拒绝。开关沿用现有 API 的 1 / 2,不使用 0 / 1。
| 参数 | 类型 | 说明 |
|---|---|---|
| buildVersionType | Integer | Build 版本号生成方式:1 蒲公英自增;2 使用安装包原始 Build |
| buildInstallType | Integer | 安装方式:1 公开;2 密码;3 团队;4 问答;5 授权码。须包含在 allowedInstallTypes 中 |
| buildPassword | String | 密码安装的密码,最多 100 字符。启用密码安装时必须有有效密码;已设置密码时可省略 |
| appInstallQuestion | String | 问答安装的问题,最多 50 字符 |
| appInstallAnswer | String | 问答安装的答案,最多 50 字符。启用问答安装时必须有有效问题和答案 |
| appDownloadStatus | Integer | 下载状态:1 开启;2 关闭。无法绕过平台审核限制 |
| appDownloadNameType | Integer | 下载文件名:1 原始文件名;2 应用名_版本 |
| appIsInstallDate | Integer | 下载有效期:1 开启;2 关闭(同时清空起止时间) |
| appInstallStartDate | String | 起始日期,格式 YYYY-MM-DD,按现有下载有效期规则生效,不支持时分秒 |
| appInstallEndDate | String | 结束日期,格式同上,不得早于起始日期;首次开启有效期时须同时提供起止日期 |
| appAutoSync | Integer | 同步应用市场信息:1 开启;2 关闭。HarmonyOS 不支持 |
| appDisplayAds | Integer | 1 显示广告(不开启去广告次数包);2 启用去广告次数包,实际去广告仍按账号权益执行 |
| appLang | String / Integer | 安装页面语言:auto、zh-CN、en、ru、fr、de、it、ja、pl、es、th、zh-TW;也接受下述数字 |
| appFeedbackStatus | Integer | 用户反馈表单:1 开启;2 关闭 |
| appShowPgyerCopyright | Integer | 蒲公英版权信息:1 显示;2 隐藏,实际展示仍受账号权益约束 |
| appDisplayInstallGuide | Integer | 安装引导:1 显示;2 隐藏。仅 Android、HarmonyOS 支持 |
| appDisplayHistory | Integer | 安装页面历史版本:1 显示;2 隐藏,不会删除历史版本 |
| appSameVersionCleanup | Integer | 自动清理同版本号历史版本:1 开启;2 关闭。默认关闭,仅 APP 所属主账号可修改 |
| appSameVersionCleanupRevision | Integer | 同时修改清理开关时必填,使用查询返回的最新修订号 |
语言数字:1 简体中文、2 英语、3 自动、4 俄语、5 法语、6 德语、7 意大利语、8 日语、9 波兰语、10 西班牙语、11 泰语、12 繁体中文。响应中的 appLang 始终返回数字。
切换安装方式时,会清空不再适用的密码或问答凭据;其他不相关字段不变。已开启 ABM 安装时,请先在 Dashboard 关闭 ABM,再修改安装方式。TestFlight 应用和没有已发布版本的 APP 请使用原有管理入口。
同版本号自动清理
开启后,后续新版本成功发布并通过审核时,会按该 APP 的设置自动清理相同版本号的历史版本。版本号相同即可,Build 可以不同;保留该版本号最新发布及受保护的版本。保存开关本身不会立即执行清理。
该开关与账户超额清理策略独立,不要求空间超额,也不受容量策略启用日期限制。网页和 API 上传均沿用该设置,上传请求无需新增参数。默认关闭;只对开启后的新上传生效。
修改前先查询修订号,避免覆盖其他人在 Dashboard 或 API 中刚保存的清理设置。收到 1402 后应重新查询并确认需要的值,不能直接使用旧修订号重试。
权限
查询、普通设置修改沿用 Dashboard 的 APP 管理权限。同版本号清理设置仅限 APP 所属主账号操作;没有该权限时仍可按自身权限管理普通设置。账号 API Key 不能操作未授权 APP,子账号 API Key 仍遵循现有 API 的限制。
返回数据
成功时返回 code=0,data 与查询接口一致,为保存后的设置。错误响应示例:
{"code": 1402, "message": "清理设置已变化,请重新查询后再提交"}| code | 说明 |
|---|---|
| 1001 / 1002 / 1003 | API Key 缺失、无效或账号类型不支持 |
| 1009 | APP 不存在、已删除或没有可管理的已发布版本 |
| 1033 | 无管理权限,或非所属主账号修改清理设置 |
| 1400 | 设置字段、值或组合无效,详见 message |
| 1401 | 设置暂不可用,请稍后重试 |
| 1402 | 清理设置修订号过期,请重新查询 |
| 1403 | HTTP 方法不支持,修改仅允许 POST |
调用示例
先查询设置:
curl -X POST 'https://www.pgyer.com/apiv2/app/settings' \
--data-urlencode "_api_key=$PGYER_API_KEY" \
--data-urlencode 'appKey=0123456789abcdef0123456789abcdef'仅修改历史版本显示和语言:
curl -X POST 'https://www.pgyer.com/apiv2/app/updateSettings' \
--data-urlencode "_api_key=$PGYER_API_KEY" \
--data-urlencode 'appKey=0123456789abcdef0123456789abcdef' \
--data-urlencode 'appDisplayHistory=1' \
--data-urlencode 'appLang=zh-CN'开启同版本号清理(示例假设查询返回修订号为 0,请替换为实际值):
curl -X POST 'https://www.pgyer.com/apiv2/app/updateSettings' \
--data-urlencode "_api_key=$PGYER_API_KEY" \
--data-urlencode 'appKey=0123456789abcdef0123456789abcdef' \
--data-urlencode 'appSameVersionCleanup=1' \
--data-urlencode 'appSameVersionCleanupRevision=0'