通知
通知是 ASO.dev 结果汇总页面。
这里会显示来自订阅的事件、已完成任务的结果以及系统消息。此页面不会启动或配置监控,它只显示已经发生的结果。


这里会出现什么
Section titled “这里会出现什么”通知中可能包含:
- 新的持续监控事件
- 已完成的任务和报告
- 任务生成的可下载文件
- 应用和国家相关变化
- 未来支持的事件类型
例如,你启动一次性竞价报告后,任务完成时结果会出现在这里。如果某个活跃订阅检测到新评论,该事件也会出现在同一个 Feed 中。
通知里有什么
Section titled “通知里有什么”具体内容取决于事件类型,但通常会显示:
- 应用
- 国家
- 事件时间或任务完成时间
- 事件类型
- 结果:报告、评论文本、应用位置、CSV 文件或其他可用数据
对于任务,通知通常是进入结果的入口。打开通知即可查看报告或下载文件。
通知可能来自三个来源:
- 订阅 - 持续监控,会自动检查变化。
- 任务 - 手动启动的一次性操作,在后台处理。
- 系统更新 - ASO.dev 的服务消息。
如果需要持续收到事件,请使用订阅。如果只需要一个报告或导出,请创建任务。
通知 Feed
Section titled “通知 Feed”所有结果都会显示在此页面。这是查看事件历史和打开已完成报告的主要入口。
拥有 ASO 分析权限的会员:独立开发者、专业版、市场营销
当检测到事件或任务完成时,会发送推送通知。对于后台任务很有用:你可以先启动报告,然后在收到通知后再回来查看。
Webhook
Section titled “Webhook”仅限专业版和市场营销会员专享功能。
Webhook 用于持续监控事件,并在订阅中配置。其格式适合自动化,也适合将数据发送到外部系统。
在哪里获取 ASO.dev 的 webhook URL
在 ASO.dev 的 webhook 字段中粘贴一个 webhook URL。我们会把订阅报告发送到这个 URL。 你需要先在接收报告的服务中创建这个 URL。
建议先配置直接集成:Slack、Discord、Telegram 和 Microsoft Teams。
Telegram 需要通过 BotFather 创建 bot,并使用 Telegram Bot API URL;其他服务可以在服务设置中获取 webhook URL。
如果需要其他工具,请使用 Make、Zapier、n8n 或 Pipedream 作为中间步骤。
Webhook URL 通常是一条很长的 HTTPS 链接。它像报告投递的秘密地址,请不要公开发布。
把 URL 粘贴到 ASO.dev 后,点击测试按钮,确认报告可以到达目标服务。
Slack
Slack 可以为频道生成直接的 incoming webhook URL。
在哪里获取 URL:
- 打开 Slack App 设置,或创建新的 Slack App。
- 启用
Incoming Webhooks。 - 点击
Add New Webhook to Workspace。 - 选择接收报告的频道。
- 复制以
https://hooks.slack.com/services/...开头的 URL。 - 将这个 URL 粘贴到 ASO.dev,并发送测试。
如果测试没有出现在频道中,请使用 Make、Zapier、n8n 或 Pipedream:复制自动化工具生成的 webhook URL,粘贴到 ASO.dev,然后添加发送 Slack 消息的步骤。
Discord
Discord 可以为指定频道生成 webhook URL。
在哪里获取 URL:
- 打开服务器或频道设置。需要有管理 webhook 的权限。
- 进入
Integrations->Webhooks。 - 创建新的 webhook。
- 选择接收报告的频道。
- 复制 webhook URL。
- 将这个 URL 粘贴到 ASO.dev,并发送测试。
如果测试没有出现在频道中,请使用 Make、Zapier、n8n 或 Pipedream,并通过单独步骤把报告发送到 Discord。
Telegram
Telegram 不能从聊天或频道中直接复制一个可用的 webhook URL。 要直接发送到 Telegram,请通过 @BotFather 创建 bot,并使用 Telegram Bot API URL。
在哪里获取 ASO.dev 要使用的 URL:
- 在 Telegram 中打开
@BotFather,发送/newbot。 - 设置 bot 名称和 username,然后复制 bot token。
- 将 bot 添加到接收报告的聊天、群组或频道。频道需要把 bot 设为管理员。
- 在该聊天中发送任意消息,或在与 bot 的私聊中点击
Start。 - 打开
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates,找到chat.id。公开频道也可以使用@channel_username。 - 组装 Telegram Bot API URL:
https://api.telegram.org/bot<BOT_TOKEN>/sendMessage?chat_id=<CHAT_ID> - 将这个 URL 粘贴到 ASO.dev,并发送测试。
在 ASO.dev 中粘贴 Telegram Bot API URL。
不要粘贴 t.me 链接、单独的 bot token 或自动化工具生成的 URL。
这个 URL 包含 bot token,请像密钥一样保存。
Microsoft Teams
新的配置建议使用 Teams Workflows。不要为新集成选择旧的 Teams Connectors。
在哪里获取 URL:
- 在 Teams 中打开目标频道或聊天。
- 选择
More options->Workflows。 - 选择 channel 或 chat 的 webhook alerts 模板。
- 保存 workflow。
- 从 workflow 页面复制 webhook URL。
- 将这个 URL 粘贴到 ASO.dev,并发送测试。
如果报告需要显示成卡片或特定格式的消息,请在 Teams Workflow 中添加格式化。
通过 Make、Zapier、n8n 或 Pipedream 集成
如果目标服务没有现成的 webhook URL,或者需要把报告转发到其他工具,请使用这个方式。
在哪里获取 ASO.dev 要使用的 URL:
- 在 Make、Zapier、n8n 或 Pipedream 中创建新的 scenario、zap 或 workflow。
- 第一步选择 incoming webhook:
- Make:
Webhooks->Custom webhook - Zapier:
Webhooks by Zapier->Catch Hook - n8n:
Webhook - Pipedream:
HTTP / Webhook
- Make:
- 复制服务显示的 URL。
- 将该 URL 粘贴到 ASO.dev 订阅的 webhook 渠道中。
- 从 ASO.dev 发送测试。
- 测试成功后,添加下一步:发送消息,或把报告保存到目标服务。
n8n 的 test URL 只用于配置流程。启用 workflow 后,请将 production URL 粘贴到 ASO.dev。
Webhook 请求结构
ASO.dev 通过 HTTP POST 发送请求,Content-Type 为 application/json。 在 Make、Zapier、n8n 或 Pipedream 中,可以在后续 workflow 步骤中使用请求体里的字段。 下面的结构适用于 generic webhook。直接发送到 Slack webhook 时,请求体为 Slack 兼容格式,并且只有一个 text 字段。
请求头
| 请求头 | 说明 |
|---|---|
X-ASO-Event-Type | 事件类型:真实评论报告为 review,测试为 notification.webhook.test |
X-ASO-Event-Id | 唯一的事件 UUID |
X-ASO-Occurred-At | ISO 8601 格式的 UTC 事件时间 |
JSON 请求体
真实 review 事件示例:
{ "inboxId": 12345, "type": "review", "eventId": "8c3bcb84-8c1c-47f1-b0b4-f56d3af4db5a", "title": "2 review changes", "body": "1 new, 1 updated for Example App (United States)", "appName": "Example App", "countryName": "United States", "severity": 1, "projectId": "demo-project", "appId": "1234567890", "country": "US", "taskRunId": null, "routeName": "AsoReviewsRoute", "deepLinkPath": "/projects/demo-project/aso-reviews?appId=1234567890&country=US&batchId=2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb", "downloadUrl": "https://api.aso.dev/api/notifications/review-batches/2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb/download", "occurredAtUtc": "2026-07-27T10:15:30Z", "data": { "title": "2 review changes", "body": "1 new, 1 updated for Example App (United States)", "appName": "Example App", "countryName": "United States", "routeName": "AsoReviewsRoute", "deepLinkPath": "/projects/demo-project/aso-reviews?appId=1234567890&country=US&batchId=2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb", "downloadPath": "/api/notifications/review-batches/2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb/download", "downloadUrl": null, "batchId": "2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb", "runId": "2f7c8d5e-2b77-4c9f-b671-09a60ce20bcb", "changeMarkerUtc": "2026-07-27T10:15:30Z", "reviewCount": 2, "newCount": 1, "updatedCount": 1, "deletedCount": 0, "appId": "1234567890", "country": "US", "previewReviews": [ { "changeType": "new", "reviewId": "review-123", "dateUtc": "2026-07-27T10:10:00Z", "rating": 5, "author": "Example User", "title": "Great update", "content": "The new version works well.", "developerResponse": null, "developerResponseModifiedUtc": null } ] }}顶层字段:
| 字段 | 类型 | 说明 |
|---|---|---|
inboxId | integer 或 null | 通知 ID;测试事件中可能为 null |
type | string | 事件类型 |
eventId | UUID | 唯一事件 ID,可用于去重 |
title, body | string | 可直接使用的通知标题和正文 |
appName, countryName | string 或 null | 应用和国家/地区的显示名称 |
severity | integer | 事件严重级别 |
projectId, appId, country | string 或 null | 项目、应用和国家/地区上下文 |
taskRunId | UUID 或 null | 事件与后台任务相关时的任务 ID |
routeName, deepLinkPath | string 或 null | ASO.dev 页面及结果跳转路径 |
downloadUrl | string 或 null | 完整 CSV 报告的绝对 URL |
occurredAtUtc | ISO 8601 datetime | UTC 事件时间 |
data | object | 随事件类型变化的数据 |
当 type: "review" 时,data 还包含:
| 字段 | 类型 | 说明 |
|---|---|---|
batchId, runId | UUID | 报告 ID 和评论检查运行 ID |
changeMarkerUtc | ISO 8601 datetime | 收集变更时使用的时间边界 |
reviewCount | integer | 评论变更总数 |
newCount, updatedCount, deletedCount | integer | 新增、更新和删除的评论数量 |
previewReviews | array | 最多 3 条评论的快速预览 |
每个 previewReviews 元素都包含 changeType、reviewId、dateUtc、rating、author、title、content、developerResponse 和 developerResponseModifiedUtc。 完整变更列表请使用顶层的 downloadUrl。
测试按钮发送 type: "notification.webhook.test" 且 data.test: true 的事件。 它用于验证投递是否成功,但其 data 对象与真实 review 事件不同。 如果自动化服务只根据测试样本识别字段,请使用上面的结构,或在收到第一份真实报告后刷新数据结构。
- 打开已完成任务的结果
- 下载 CSV 导出
- 查看订阅检测到的新评论
- 查看监控状态变化
- 从事件快速跳转到应用、国家或报告
API
我们已开始着手构建公共 API。
如果您对特定端点有需求,请发送邮件至 support@aso.dev。
