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 会将各个数据块累加起来。