用途
asc-analytics-reports 用于围绕 App Store Connect Analytics 报表完成一整套采集工作:发现分析报表请求、选择报表实例、下载全部压缩分段,并在交付给独立分析流程之前逐一校验文件。按技能说明,它不解读、不聚合、也不呈现报表内容,只做收集与验证。
主要能力
- 在认证或采集前检查 CLI 契约,确认
asc analytics view --help中列出--processing-date、--granularity、--paginate、--include-segments,这些过滤项需要 asc 3.5.0 或更新版本。 - 准备仓库之外的私有临时存储目录,权限仅限所有者。
- 列出并解析现有的 analytics 请求,优先复用已有请求;如需创建请求(会改变 App Store Connect 状态并需管理员授权配置文件),必须获得用户明确批准。
- 发现并选择报表实例,按处理日期(processingDate)和粒度(DAILY、WEEKLY、MONTHLY)过滤。
- 使用
asc analytics download按请求 ID、实例 ID、分段 ID 下载每个分段,文件名仅由分段 ID 派生,保留压缩字节,使用.txt.gz后缀。 - 校验下载结果:比对压缩字节数与
sizeInBytes,比对小写 MD5 摘要与checksum。 - 返回简要汇总,包含所选处理日期与粒度、报表/实例/期望分段/已下载分段/已验证分段的数量、采集是否完整,以及失败或缺失的分段 ID。
使用方式
按技能文档的分步流程操作:先验证 CLI 契约,再创建私有临时目录(umask 077、mktemp -d),重定向命令输出与错误到该目录,避免把原始清单 JSON 或错误输出粘贴到聊天、提交、issue 或 PR 中。查找现有请求时使用 asc --profile "$PROFILE" analytics requests --app "$APP_ID" --paginate --output json。创建请求需先审批,并优先使用 --reuse-existing;随后从私有 JSON 响应读取 requestId。发现实例时先用不带分段 URL 的元数据,再取带 --include-segments 的过滤清单。下载每个分段时保留精确 ID、sizeInBytes 与 checksum,不要单独获取或持久化签名 URL,也不要在校验前使用 --decompress。校验需满足字节数与 MD5 均匹配;不匹配时标记该分段失败,可重试一次到新路径并独立验证。
适用场景
适合需要从 App Store Connect 获取 Analytics 报表数据、并将其交给独立分析流程的场景,尤其强调采集完整性与可验证性、以及数据保密性的工作流。
限制
- 不解读、不聚合、不呈现报表内容。
- 创建请求会改变 App Store Connect 状态,需要 Admin 授权的配置文件并取得明确批准。
- 不得在采集过程中删除或替换请求。
- 存在期望分段缺失或校验失败时,不得声称采集完整。
- 报表清单、签名 URL、已下载分段与标识符均视为机密业务数据。
- 资料未提供除上述之外的功能、收费、价格、平台或效果信息。