蒲公英文档中心

APP 设置

查询和按需修改 APP 设置,包括安装方式、下载状态、显示历史版本与同版本号自动清理。

这些接口管理整个 APP 的持久设置,与 Dashboard 的 APP 设置共用数据和校验规则。单个版本的信息仍使用 应用信息接口

查询 APP 设置

返回当前设置及可用操作。也支持 GET 请求,建议使用 POST,避免将 API Key 写入 URL。

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

请求参数

参数类型必填说明
_api_keyString账号的 API Key,见 鉴权说明
appKeyStringAPP 的 appKey,可从应用列表获取;不是单个版本的 buildKey

返回数据

data 包含下方可修改设置的当前值,但不返回 buildPasswordappInstallAnswer 明文。另外包含:

字段类型说明
appKeyStringAPP 标识
buildPasswordSetBoolean是否已设置安装密码
appInstallAnswerSetBoolean是否已设置问答答案
allowedInstallTypesArray该 APP 允许的安装方式,数字含义见下表
abmEnabledBoolean是否已开启 ABM 安装
appSameVersionCleanupAvailableBoolean当前账号是否可以管理该 APP 的同版本号清理
appSameVersionCleanupRevisionInteger / 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 设置

只提交需要修改的字段,未提交的设置保持原值。一次请求中的设置统一保存,任一字段校验失败时整次请求不生效。

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

请求参数

使用 application/x-www-form-urlencoded 表单提交。_api_keyappKey 必填,并至少提供一个设置字段。不支持的字段、数组、空值或无效枚举会被拒绝。开关沿用现有 API 的 1 / 2,不使用 0 / 1

参数类型说明
buildVersionTypeIntegerBuild 版本号生成方式:1 蒲公英自增;2 使用安装包原始 Build
buildInstallTypeInteger安装方式:1 公开;2 密码;3 团队;4 问答;5 授权码。须包含在 allowedInstallTypes 中
buildPasswordString密码安装的密码,最多 100 字符。启用密码安装时必须有有效密码;已设置密码时可省略
appInstallQuestionString问答安装的问题,最多 50 字符
appInstallAnswerString问答安装的答案,最多 50 字符。启用问答安装时必须有有效问题和答案
appDownloadStatusInteger下载状态:1 开启;2 关闭。无法绕过平台审核限制
appDownloadNameTypeInteger下载文件名:1 原始文件名;2 应用名_版本
appIsInstallDateInteger下载有效期:1 开启;2 关闭(同时清空起止时间)
appInstallStartDateString起始日期,格式 YYYY-MM-DD,按现有下载有效期规则生效,不支持时分秒
appInstallEndDateString结束日期,格式同上,不得早于起始日期;首次开启有效期时须同时提供起止日期
appAutoSyncInteger同步应用市场信息:1 开启;2 关闭。HarmonyOS 不支持
appDisplayAdsInteger1 显示广告(不开启去广告次数包);2 启用去广告次数包,实际去广告仍按账号权益执行
appLangString / Integer安装页面语言:auto、zh-CN、en、ru、fr、de、it、ja、pl、es、th、zh-TW;也接受下述数字
appFeedbackStatusInteger用户反馈表单:1 开启;2 关闭
appShowPgyerCopyrightInteger蒲公英版权信息:1 显示;2 隐藏,实际展示仍受账号权益约束
appDisplayInstallGuideInteger安装引导:1 显示;2 隐藏。仅 Android、HarmonyOS 支持
appDisplayHistoryInteger安装页面历史版本:1 显示;2 隐藏,不会删除历史版本
appSameVersionCleanupInteger自动清理同版本号历史版本:1 开启;2 关闭。默认关闭,仅 APP 所属主账号可修改
appSameVersionCleanupRevisionInteger同时修改清理开关时必填,使用查询返回的最新修订号

语言数字: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=0data 与查询接口一致,为保存后的设置。错误响应示例:

{"code": 1402, "message": "清理设置已变化,请重新查询后再提交"}
code说明
1001 / 1002 / 1003API Key 缺失、无效或账号类型不支持
1009APP 不存在、已删除或没有可管理的已发布版本
1033无管理权限,或非所属主账号修改清理设置
1400设置字段、值或组合无效,详见 message
1401设置暂不可用,请稍后重试
1402清理设置修订号过期,请重新查询
1403HTTP 方法不支持,修改仅允许 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'

本页目录