Realtime 正在升级中

基于 WebSocket 的托管发布/订阅服务。订阅、发布、扩展。

实时聊天、在线状态、应用内通知、实时仪表盘——无需自行运维 WebSocket 基础设施。基于驱动 Pusher Channels 十年之久的同一技术构建。与所有其他 Bird 通道共享相同的身份验证、幂等性和 Webhook 契约。

realtime.ts
200 · 0.2s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

// On your server: publish an event to a channel.
const { data, error } = await bird.realtime.publish({
  channel: "orders:BRD-49217",
  event:   "order.shipped",
  data:    { status: "shipped", eta: "Thursday, May 22" },
}).safe();

// In your client: subscribe and receive it live.
const channel = bird.realtime.subscribe("orders:BRD-49217");
channel.on("order.shipped", (event) => render(event.data));

if (error) throw error;
console.log(data.id);
// → "evt_2nQ81oP3..."

从 npm install 到首个事件仅需 5 分钟

用您已经在使用的语言发布您的第一个事件。

支持所有主流运行时的 SDK。首次发布会投递到指定的测试通道(bird-test:realtime),让您在配置生产通道之前即可在 CI 中完成验证。

1
2
3
4
5
6
7
8
9
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.realtime.publish({
  channel: "bird-test:realtime",
  event:   "ping",
  data:    { hello: "world" },
}).safe();

从您的服务器发布到客户端接收事件之间的十个环节。

托管的发布/订阅原语,具名且可审计。无需自行运维 WebSocket 基础设施。

  1. 01

    订阅命名通道

    客户端建立连接,订阅一个或多个通道,在事件发布时实时接收。

  2. 02

    从任何地方发布

    无论是从您的后端、CLI、CI 还是支持 MCP 的代理——都使用同一个 bird.realtime.publish 调用。

  3. 03

    在线状态通道

    了解谁在通道中、谁加入、谁离开。每次变更均触发 Webhook 事件。

  4. 04

    带身份验证的私有通道

    客户端侧完成身份验证握手;由您的后端签署订阅请求。

  5. 05

    加密通道

    为承载敏感数据的通道提供端到端加密。

  6. 06

    连接状态恢复

    客户端重新连接后可重放断连期间错过的事件,回溯窗口可配置。

  7. 07

    通道级速率限制

    可配置每个通道的发布上限。仪表盘实时展示限制值和当前速率。

  8. 08

    跨区域路由

    连接自动路由到最近的边缘节点。任何区域都能保持低延迟。

  9. 09

    通道状态 Webhook

    realtime.channel.occupied、realtime.channel.vacated、realtime.member.added、realtime.member.removed。与所有其他 Bird 通道使用相同的 HMAC 信封。

  10. 10

    统一的身份验证和错误信封

    一个 API 密钥即可访问 Realtime、SMS、Email、WhatsApp、Voice。所有服务共享同一套错误类型注册表。

我们为什么构建 Realtime

实时用户体验是规模化后最先出问题的部分。我们已经运营了十年。

Bird Realtime 就是曾驱动 Pusher Channels 的 WebSocket 基础设施——许多用户已经基于该服务开发多年。我们正将其整合到全新的 Bird API 中,使其与您在 Bird 上使用的所有服务共享身份验证、可观测性和计费体系。如果您目前已在使用 Pusher,您的服务将继续运行在相同的底层架构上;新的 SDK 是面向开发者的变更。

realtime.ts
200 · 0.2s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

// On your server: publish an event to a channel.
const { data, error } = await bird.realtime.publish({
  channel: "orders:BRD-49217",
  event:   "order.shipped",
  data:    { status: "shipped", eta: "Thursday, May 22" },
}).safe();

// In your client: subscribe and receive it live.
const channel = bird.realtime.subscribe("orders:BRD-49217");
channel.on("order.shipped", (event) => render(event.data));

if (error) throw error;
console.log(data.id);
// → "evt_2nQ81oP3..."

每一次状态变更都是一个 Webhook。

HMAC 签名的载荷,具备重放保护和幂等性。所有 Bird 通道使用相同的信封格式——学会一个,全部通用。

POST /webhooks/bird
signed
{
  "type": "realtime.member.added",
  "id":   "evt_3pX1g7t...",
  "created_at": "2026-05-19T15:42:01.221Z",
  "data": {
    "channel":   "presence:room-42",
    "member_id": "usr_4hQ2m",
    "members":   18,
    "region":    "us-east"
  }
}

重试计划:5s、30s、5m、30m、2h、6h、12h。最终尝试失败后进入死信队列;所有死信事件均可通过仪表板或 API 重放。

  • realtime.channel.occupied首个订阅者加入了一个此前为空的通道。
  • realtime.channel.vacated最后一个订阅者已离开;通道现在为空。
  • realtime.member.added一个成员加入了在线状态通道。
  • realtime.member.removed一个成员离开了在线状态通道。
  • realtime.message.published一个事件已发布到通道。

集成了邮件,就等于集成了 Realtime。

相同的认证、相同的幂等性契约、相同的错误封装、相同的 webhook 格式。唯一的区别在于传输方式——用持久的 WebSocket 连接替代一次性的 REST 发送。

Realtime。

realtime
const channel = bird.realtime.subscribe("orders:BRD-49217");

channel.on("order.shipped", (event) => {
  render(event.data);
});

打开连接,订阅频道,实时接收事件。认证方式与事务性发送完全一致。

SMS。

sms
await bird.sms.send({
  from:     "Bird",
  to:       "+15005550006",
  text:     `Your order has shipped.`,
  category: "transactional",
});

相同的封装,相同的幂等性。适用于事件需要到达手机而非已连接客户端的场景。

定价即将公布。

Realtime 定价正在最终确定中。如果您是现有的 Pusher Channels 客户,您的服务将继续沿用当前方案。如需了解全新 Bird Realtime SDK 的报价,请与我们联系。

加入等候名单

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor