用途:Pusher Channels 提供基于 WebSocket 的实时发布/订阅(pub/sub)消息基础设施,用于实现实时更新、通知、聊天、在线状态(presence)等功能。
主要能力:支持公开频道(无需认证)、私有频道(前缀 private-,需认证)、presence 频道(前缀 presence-,可追踪在线成员)、加密频道(前缀 private-encrypted-,端到端加密)。客户端可订阅频道并绑定事件;服务端可触发事件、批量触发、排除指定 socket、查询频道状态与在线用户。支持客户端事件(仅私有/presence 频道,需先在控制台启用,事件名以 client- 前缀)。
使用方式:客户端安装 npm install pusher-js,用 new Pusher('YOUR_APP_KEY', { cluster: 'us2' }) 初始化并 subscribe/bind;服务端安装 npm install pusher,用 appId、key、secret、cluster、useTLS 初始化并 trigger。私有与 presence 频道需提供认证端点(如 /pusher/auth),服务端调用 authorizeChannel 返回授权。资料还给出 React 集成(Provider、useChannel、useEvent)与 Next.js API Route 示例。
适用场景:实时通知、聊天室、输入状态提示、在线用户列表等。
限制:单次 trigger 最多 100 个频道;单条消息最大 10KB;每个 presence 频道最多 100 名成员;免费层每个应用最多 200 个连接。具体收费与价格资料未提供。