Skip to main content
Stream Blueprint 会向 Dodo Payments 发送使用量事件,其中包含客户从数据流中消耗的字节数。对 bytes 使用 Sum meter 会累加每位客户的带宽使用量,以便你据此收费。该 blueprint 包含在 @dodopayments/ingestion-blueprints npm package 中,名称为 trackStreamBytes()。

使用场景

Stream Blueprint 适用于以下场景:

Video Platforms

按视频带宽消耗和流媒体质量向客户收费。

Music Streaming

跟踪每位用户的音频流使用量,以支持不同订阅层级。

Live Events

监控直播消耗量,并按带宽使用量收费。

Real-Time Data

跟踪 IoT 和遥测应用的实时数据传输量。
可将其用于视频和音频流平台、直播服务以及实时数据应用。

快速开始

要跟踪流媒体使用量,请安装 package、创建 meter,并发送每位客户消耗的字节数。
1

Install the SDK

安装 Dodo Payments Ingestion Blueprints package:
2

Get Your API Keys

在 Dodo Payments dashboard 中,通过 Developer → API Keys 创建 Dodo Payments API key,并将其存储在 DODO_PAYMENTS_API_KEY environment variable 中。构建期间请使用 test mode key。test mode key 只能与 test_mode 配合使用。
3

Create a Meter

在 Dodo Payments dashboard 中,前往 Products → Meters,然后点击 Create Meter。设置以下字段:
  • Meter Name:描述性名称,例如 Stream Bandwidth。
  • Event Name:stream_consumption,或你选择的名称。它必须与代码中的 eventName 完全匹配(区分大小写)。
  • Aggregation Type:Sum,用于累加流式传输的字节数。
  • Over Property:bytes,用于按带宽使用量收费。
  • Measurement Unit:发票上显示的单位,例如 bytes。
4

Track Stream Usage

使用客户信息和消耗的字节数调用 trackStreamBytes():

配置

Ingestion 配置

将以下选项传递给 new Ingestion():
string
必填
来自 dashboard 的 Dodo Payments API key。
string
Environment mode:test_mode 或 live_mode。默认值为 test_mode。不过,Dodo Payments SDKs 默认使用 live_mode,因此请在 production 中显式设置 live_mode。
string
必填
与 meter 的 Event Name 匹配的事件名称(区分大小写)。

Track Stream Bytes 选项

将以下选项传递给 trackStreamBytes():
string
必填
要为数据流计费的 Dodo Payments customer ID,例如 cus_123。
number
数据流中消耗的字节数。基于带宽的计费需要此字段。如果省略该字段,事件将没有 bytes 值,但仍会计入 Count meter。
object
数据流的可选 metadata,例如数据流类型、质量或会话 ID。每个值都必须是 string、number 或 boolean。

最佳实践

按数据块跟踪:对于长数据流,请按数据块跟踪消耗量,而不是等待整个数据流完成。
每次调用 trackStreamBytes() 都会发送一个独立事件,而 Sum meter 会将各个数据块累加起来。
准确计算字节数:如果按总带宽收费,请将所有开销(例如 headers 和 protocol overhead)计入字节数。
最后修改于 2026年9月26日