mcpField
D
dx-app-analytics-use

dx-app-analytics-use

github.com/forcedotcom数据与数据库1.1k146 次安装1 天前更新
代码仓库

关于 dx-app-analytics-use

面向 ISV 合作伙伴的 Salesforce App Analytics 技能,用于获取托管包使用数据。内容涵盖异步查询请求、设置、下载格式、时间筛选及生命周期故障排查。

主要功能

  1. 01创建并轮询分析请求
  2. 02选择分析数据类型
  3. 03配置模拟与退出设置
  4. 04按时间和包 ID 筛选
  5. 05选择文件格式与压缩方式
  6. 06排查查询状态问题

适用场景

  1. 01获取托管包使用摘要
  2. 02增量检索分析数据
  3. 03用样例使用日志测试查询
  4. 04诊断下载过期或失败

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill dx-app-analytics-use

安装后在 Claude Code 中输入/dx-app-analytics-use确认已加载。

详细介绍

应用分析

此技能负责处理的任务

当工作涉及以下内容时,请使用 dx-app-analytics-use:

  • 通过 REST/sObject API 创建 AppAnalyticsQueryRequest 记录
  • 通过 Metadata API 配置 AppAnalyticsSettings(模拟模式、选择退出)
  • 了解查询生命周期:New → Pending → Complete → Expired → Failed
  • 在 dataType 值之间进行选择:PackageUsageSummary、PackageUsageLog、SubscriberSnapshot
  • 分析数据下载的文件格式和压缩选项
  • 使用 startTime、endTime、availableSince 进行时间范围筛选
  • 排查失败或过期的分析查询

以下情况请委派给其他技能:

  • 运行标准 CRM SOQL 查询 → querying-soql
  • 使用 Data Cloud SQL 或 DMO → retrieving-datacloud
  • 基于标准对象构建报表/仪表板 → reporting skills
  • 部署或检索通用 Metadata XML → deploying-metadata / retrieving-metadata

可用类型

AppAnalyticsQueryRequest(REST/sObject API)

异步查询请求,ISV 合作伙伴使用它从 ISV Intelligence Data Lake 检索其托管包的使用情况分析数据。通过 POST /services/data/vXX.0/sobjects/AppAnalyticsQueryRequest 创建记录,并通过 GET /services/data/vXX.0/sobjects/AppAnalyticsQueryRequest/<id> 轮询。系统会处理查询,并在完成后提供预签名下载 URL。

字段(14 个属性):

字段类型说明
DataTypestring(可筛选)分析数据的类型。值:PackageUsageSummary、PackageUsageLog、SubscriberSnapshot
RequestStatestring(可筛选)处理状态。值:New、Pending、Complete、Expired、Failed、NoData、Delivered
StartTimestring请求数据的时间范围起点
EndTimestring时间范围终点。应设置为整点
AvailableSincestring将查询限制为此时间之后(含此时间)编入索引的数据。用于增量检索
PackageIdsstring以逗号分隔的托管包 ID 列表(前缀为 033)
OrganizationIdsstring用于筛选结果的订阅方组织 ID 列表,以逗号分隔
DownloadUrlstring用于下载结果的预签名 URL。RequestState 为 Complete 时填充
DownloadSizelong结果数据文件的大小(字节)
DownloadExpirationTimestring下载 URL 的过期时间
FileTypestring(可筛选)输出格式。值:csv、parquet
FileCompressionstring(可筛选)压缩方式。值:none、gzip、snappy
QuerySubmittedTimestring查询提交到 Data Lake 的时间
ErrorMessagestring查询失败时的诊断消息
AppAnalyticsSettings(Metadata API)

用于控制模拟模式和选择退出行为的 ISV App Analytics 配置设置。通过 Metadata API(sf project deploy)或 Tooling API 部署。

字段(2 个属性):

字段类型说明
enableSimulationModeboolean(可筛选)为 true 时,可查询示例使用日志以进行集成测试,无需真实订阅方数据
enableAppAnalyticsOptOutboolean(可筛选)为 true 时,此订阅方组织将退出 AppExchange App Analytics 数据收集

请求生命周期

New → Pending → Complete → (download within expiration window)
                         → Expired (download URL no longer valid)
                         → Delivered (download confirmed received)
         → Failed (check errorMessage)
         → NoData (no matching records for the criteria)

常见模式

查询软件包使用情况摘要(最近 7 天)

通过 REST API 创建记录:

POST /services/data/v60.0/sobjects/AppAnalyticsQueryRequest
Content-Type: application/json

{
  "DataType": "PackageUsageSummary",
  "StartTime": "<7-days-ago>T00:00:00Z",
  "EndTime": "<today-on-hour-boundary>T00:00:00Z",
  "PackageIds": "033XXXXXXXXXXXX",
  "FileType": "csv",
  "FileCompression": "gzip"
}

通过 GET 轮询记录,直到 RequestState 达到 Complete,然后从 DownloadUrl 下载。

增量数据检索

将 AvailableSince 设为上次成功查询完成的时间戳,以避免重新下载已有数据。

启用模拟模式进行测试

通过 Metadata API 部署 AppAnalyticsSettings,并将 enableSimulationMode 设为 true,以查询示例数据,无需真实订阅方。


高信号注意事项

  • AppAnalyticsQueryRequest 是一个 sObject — 通过 REST Data API(/sobjects/AppAnalyticsQueryRequest)创建和轮询记录,而不是通过 Metadata API XML 部署。
  • AppAnalyticsQueryRequest 没有 Apex 触发器,也不会流经自定义对象或 Flows。
  • 下载 URL 会过期 — 尝试下载前务必检查 DownloadExpirationTime。
  • 为确保结果一致,EndTime 应设置为整点。
  • AvailableSince 是包含边界的 — 恰好在该时间戳编入索引的数据也会包含在内。
  • PackageIds 使用 033 前缀的 ID,而不是 04t(包版本)ID。
  • 数据由 ISV Intelligence Data Lake 基础设施异步处理。没有同步查询选项。
  • 对于大型数据集,使用 FileType: parquet 和 FileCompression: snappy 可获得最佳性能。

输出格式

Analytics task: <query / configure / troubleshoot>
Data type: <PackageUsageSummary / PackageUsageLog / SubscriberSnapshot>
Package IDs: <033-prefixed IDs>
Time range: <startTime> to <endTime>
File format: <csv|parquet> / <none|gzip|snappy>
Request state: <current state>
Next step: <poll for completion / download / investigate failure>

评论

支持 Markdown