适用于 iOS、Android 和 Web 的推送通知。
Token 管理抽象层、逐设备订阅、原生富载荷、分群定向推送。与所有其他 Bird 渠道共享相同的认证、幂等性和 Webhook,因为它们全部由同一个工程团队构建。
从 npm install 到首次发送仅需5分钟
使用您已熟悉的编程语言发送通知。
覆盖所有主流运行时的 SDK。从移动端或 Web 客户端注册令牌;从后端通过令牌或 user_id 发送。
此 API 上线后将提供代码示例。SDK 已覆盖现有频道。
十个基本操作,将 APNs 和 FCM 统一为一个端点。
底层直连 APNs 和 FCM,无第三方推送聚合中间层。我们只是将平台差异隐藏在统一接口之后。
- 01
一次调用覆盖 iOS、Android 和 Web
一个 bird.push.send 调用。我们根据已注册设备自动分发到 APNs、FCM 和 W3C Push Protocol。
- 02
令牌管理抽象
使用 bird.push.tokens.register 注册令牌。我们自动跟踪平台、语言区域和最后活跃时间,无需您手动处理。
- 03
按令牌或 user_id 发送
可向单个设备发送,也可传入
{ user_id },我们会自动向其所有已订阅的设备分发消息。 - 04
逐设备订阅状态
每个注册的令牌都有独立的订阅状态。撤销一个不会影响其他设备。
- 05
原生富载荷
标题、正文、图片、操作按钮、深度链接 URL、自定义数据:精准映射到 APNs alert 和 FCM notification。
- 06
静默/后台通知
传入 content_available: true,我们会根据平台正确路由到 APNs 后台推送和 FCM 纯数据推送。
- 07
分群定向
在注册时为用户打标签;通过 bird.push.send 按标签定向发送。无需集成第三方 CDP。
- 08
送达与打开回执
push.delivered、push.opened、push.dismissed 事件。与所有其他渠道相同的 HMAC 信封。
- 09
令牌生命周期自动管理
当 APNs / FCM 返回未注册令牌时,我们自动标记为失效并停止发送。无需手动清理。
- 10
相同的认证,相同的错误信封
一个 API 密钥即可用于 Push、SMS、Email、WhatsApp、Voice。所有渠道共用一套错误类型注册表。
我们为何打造 Push
因为推送不应该和您的 SMS、邮件和验证服务分属不同的供应商。
每个产品团队最终都会面对同一套技术栈:iOS 用 APNs,Android 用 FCM,Web 端用 Service Worker,再加一张数据库表来记录哪个用户持有哪些 Token 以及对应的订阅状态。我们构建了这张表,又重新构建了一次,然后将其开放为 bird.push.tokens.register 和 bird.push.send。与 Email 和 SMS 共享相同的认证、幂等性和错误信封,因此推送失败的 OTP 可以在同一请求中回退到 SMS。
每次状态变更都是一个 Webhook。
HMAC 签名载荷,防重放保护,幂等处理。所有 Bird 渠道使用相同的信封格式:学会一个,即通所有。
重试策略:5 秒、30 秒、5 分钟、30 分钟、2 小时、6 小时、12 小时。最终尝试后进入死信队列;所有死信事件均可从控制台或 API 重放。
push.queued已被 API 接受并排队等待发送。push.sent已移交给 APNs / FCM / W3C Push 服务器。push.delivered运营商确认已送达设备(如可用:APNs 为尽力送达模式)。push.opened用户点击了通知(如果您的应用进行了埋点)。push.dismissed用户未打开直接关闭了通知(如果您的应用进行了埋点)。push.failed永久失败(令牌已注销、应用已移除)。令牌将被自动禁用。
如果您已集成 SMS,那就等于已集成 Push。
相同的认证、相同的幂等性契约、相同的错误信封、相同的 Webhook 结构。差异仅在于传输方式,而非调用方式。
Push。
一次调用。我们自动分发到用户拥有的所有已订阅设备,涵盖 APNs、FCM 和 Web。
SMS。
相同的信封,相同的幂等性契约。推送失败时回退,或直接通过 SMS 发送。