用途:该技能说明如何在 OneKey 应用中新增 WebSocket 事件订阅,用于实现服务端到客户端的实时推送消息处理。
主要能力与关键文件:事件名与载荷类型定义在 packages/shared/types/socket.ts;WebSocket 事件处理器位于 packages/kit-bg/src/services/ServiceNotification/PushProvider/PushProviderWebSocket.ts。
使用方式分三步:一是在 EAppSocketEventNames 枚举中新增事件名,约定枚举键用 camelCase、字符串值用 SCREAMING_SNAKE_CASE;二是在 socket.ts 中定义载荷接口,必须包含 msgId: string 用于消息确认;三是在 PushProviderWebSocket.ts 的 initWebSocket() 方法中导入载荷类型并注册 this.socket.on 处理器。
处理器模式包括:简单确认加动作、带日志、带字段校验、以及通过 appEventBus.emit 转发事件。资料给出 userInfoUpdated 完整示例。
重要限制:必须调用 serviceNotification.ackNotificationMessage 确认消息,否则服务端会认为未送达并反复重试;确认动作有 arrived(多数场景)和 clicked。确认应尽早调用以防重复投递。资料未提供安装命令、收费或平台信息。