跳转到内容

订阅

订阅是用于配置持续监控的页面。

订阅在启用期间会自动运行。当 ASO.dev 检测到变化时,会生成事件。事件会显示在通知中,也可以通过推送通知或 webhook 投递。

订阅:持续应用监控
订阅:持续应用监控

一个订阅回答一个问题:

监控什么、在哪里监控、监控哪个应用?

形式上,一个订阅等于:

1 个应用 × 1 个国家 × 1 个事件

例如:

  • 监控你的应用在美国的新评论
  • 监控竞品在德国的新评论
  • 在事件类型可用时监控竞价状态

订阅限额按用户计算:

方案限额
Indie2,500
Pro6,500
Marketing13,000

限额表示一个用户可以创建多少条活跃监控规则。

注意:未来套餐限额和条件可能会由 ASO.dev 团队酌情调整。

事件列表会继续扩展。订阅的主要用途是自动捕捉你不想错过的变化。

当所选应用和国家出现新评论时,订阅会触发。

如果你需要跟踪多个市场或竞品的反馈,而不想手动检查 App Store,这会很有用。

创建订阅时请选择:

  • 应用
  • 国家
  • 事件类型
  • 投递渠道

如果你在分析竞品,可以从 ASO.dev 的相关页面快速添加竞品。

拥有 ASO 分析权限的会员:独立开发者专业版市场营销

当订阅检测到变化时,会发送推送通知。事件也会保留在通知中,之后仍可打开查看。

仅限专业版市场营销会员专享功能。

Webhook 会在每次更新时触发,并以 CSV 形式发送结果。

CSV 文件公开可访问,无需授权,并包含最新事件状态。

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:

  1. 打开 Slack App 设置,或创建新的 Slack App。
  2. 启用 Incoming Webhooks
  3. 点击 Add New Webhook to Workspace
  4. 选择接收报告的频道。
  5. 复制以 https://hooks.slack.com/services/... 开头的 URL。
  6. 将这个 URL 粘贴到 ASO.dev,并发送测试。

如果测试没有出现在频道中,请使用 Make、Zapier、n8n 或 Pipedream:复制自动化工具生成的 webhook URL,粘贴到 ASO.dev,然后添加发送 Slack 消息的步骤。

Discord

Discord 可以为指定频道生成 webhook URL。

在哪里获取 URL:

  1. 打开服务器或频道设置。需要有管理 webhook 的权限。
  2. 进入 Integrations -> Webhooks
  3. 创建新的 webhook。
  4. 选择接收报告的频道。
  5. 复制 webhook URL。
  6. 将这个 URL 粘贴到 ASO.dev,并发送测试。

如果测试没有出现在频道中,请使用 Make、Zapier、n8n 或 Pipedream,并通过单独步骤把报告发送到 Discord。

Telegram

Telegram 不能从聊天或频道中直接复制一个可用的 webhook URL。 要直接发送到 Telegram,请通过 @BotFather 创建 bot,并使用 Telegram Bot API URL。

在哪里获取 ASO.dev 要使用的 URL:

  1. 在 Telegram 中打开 @BotFather,发送 /newbot
  2. 设置 bot 名称和 username,然后复制 bot token。
  3. 将 bot 添加到接收报告的聊天、群组或频道。频道需要把 bot 设为管理员。
  4. 在该聊天中发送任意消息,或在与 bot 的私聊中点击 Start
  5. 打开 https://api.telegram.org/bot<BOT_TOKEN>/getUpdates,找到 chat.id。公开频道也可以使用 @channel_username
  6. 组装 Telegram Bot API URL: https://api.telegram.org/bot<BOT_TOKEN>/sendMessage?chat_id=<CHAT_ID>
  7. 将这个 URL 粘贴到 ASO.dev,并发送测试。

在 ASO.dev 中粘贴 Telegram Bot API URL。
不要粘贴 t.me 链接、单独的 bot token 或自动化工具生成的 URL。
这个 URL 包含 bot token,请像密钥一样保存。

Microsoft Teams

新的配置建议使用 Teams Workflows。不要为新集成选择旧的 Teams Connectors。

在哪里获取 URL:

  1. 在 Teams 中打开目标频道或聊天。
  2. 选择 More options -> Workflows
  3. 选择 channel 或 chat 的 webhook alerts 模板。
  4. 保存 workflow。
  5. 从 workflow 页面复制 webhook URL。
  6. 将这个 URL 粘贴到 ASO.dev,并发送测试。

如果报告需要显示成卡片或特定格式的消息,请在 Teams Workflow 中添加格式化。

通过 Make、Zapier、n8n 或 Pipedream 集成

如果目标服务没有现成的 webhook URL,或者需要把报告转发到其他工具,请使用这个方式。

在哪里获取 ASO.dev 要使用的 URL:

  1. 在 Make、Zapier、n8n 或 Pipedream 中创建新的 scenario、zap 或 workflow。
  2. 第一步选择 incoming webhook:
    • Make:Webhooks -> Custom webhook
    • Zapier:Webhooks by Zapier -> Catch Hook
    • n8n:Webhook
    • Pipedream:HTTP / Webhook
  3. 复制服务显示的 URL。
  4. 将该 URL 粘贴到 ASO.dev 订阅的 webhook 渠道中。
  5. 从 ASO.dev 发送测试。
  6. 测试成功后,添加下一步:发送消息,或把报告保存到目标服务。

n8n 的 test URL 只用于配置流程。启用 workflow 后,请将 production URL 粘贴到 ASO.dev。

Webhook 请求结构

ASO.dev 通过 HTTP POST 发送请求,Content-Typeapplication/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-AtISO 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
}
]
}
}

顶层字段:

字段类型说明
inboxIdinteger 或 null通知 ID;测试事件中可能为 null
typestring事件类型
eventIdUUID唯一事件 ID,可用于去重
title, bodystring可直接使用的通知标题和正文
appName, countryNamestring 或 null应用和国家/地区的显示名称
severityinteger事件严重级别
projectId, appId, countrystring 或 null项目、应用和国家/地区上下文
taskRunIdUUID 或 null事件与后台任务相关时的任务 ID
routeName, deepLinkPathstring 或 nullASO.dev 页面及结果跳转路径
downloadUrlstring 或 null完整 CSV 报告的绝对 URL
occurredAtUtcISO 8601 datetimeUTC 事件时间
dataobject随事件类型变化的数据

type: "review" 时,data 还包含:

字段类型说明
batchId, runIdUUID报告 ID 和评论检查运行 ID
changeMarkerUtcISO 8601 datetime收集变更时使用的时间边界
reviewCountinteger评论变更总数
newCount, updatedCount, deletedCountinteger新增、更新和删除的评论数量
previewReviewsarray最多 3 条评论的快速预览

每个 previewReviews 元素都包含 changeTypereviewIddateUtcratingauthortitlecontentdeveloperResponsedeveloperResponseModifiedUtc。 完整变更列表请使用顶层的 downloadUrl

测试按钮发送 type: "notification.webhook.test"data.test: true 的事件。 它用于验证投递是否成功,但其 data 对象与真实 review 事件不同。 如果自动化服务只根据测试样本识别字段,请使用上面的结构,或在收到第一份真实报告后刷新数据结构。

  1. 创建订阅。
  2. ASO.dev 定期检查所选应用、国家和事件。
  3. 如果状态发生变化,会生成事件。
  4. 事件显示在通知中。
  5. 如果启用了推送或 webhook,ASO.dev 会通过所选渠道发送事件。
  • 需要持续监控评论
  • 想快速发现竞品活动
  • 需要在不手动检查的情况下收到事件
  • 想通过 webhook 将事件发送到外部系统

订阅会持续运行,并在发生变化时生成事件。

任务只运行一次,并生成一个报告或导出。