fix: add call push category
This commit is contained in:
+11
-5
@@ -530,7 +530,7 @@ X-MeetingIM-APIKey: <预置的普通 API Key>
|
||||
| --- | --- | --- |
|
||||
| `im_message` | `tenant_code,topic,seq` | 打开会话,按本地最后 seq 补齐消息并定位。 |
|
||||
| `group_mention` | `tenant_code,topic,seq,sender_id` | 打开群会话并定位被 @ 消息。 |
|
||||
| `call_invite` | `tenant_code,topic,seq,call_id,call_type,caller_id` | 打开来电页前先登录 IM 并确认通话仍为有效来电。 |
|
||||
| `call_invite` | `tenant_code,topic,seq,call_id,call_type,caller_id,caller_display,expires_at` | 打开来电页前先登录 IM 并确认通话仍为有效来电。 |
|
||||
| `call_missed` | `tenant_code,topic,call_id` | 打开通话记录或对应会话。 |
|
||||
| `system_notification` | `tenant_code,notification_id` | 打开系统消息列表并刷新详情。 |
|
||||
| `friend_request` | `tenant_code,request_id` | 打开新朋友列表并刷新未处理数。 |
|
||||
@@ -584,6 +584,7 @@ X-MeetingIM-APIKey: <预置的普通 API Key>
|
||||
},
|
||||
"sound": "default",
|
||||
"badge": "+1",
|
||||
"category": "im_call",
|
||||
"extras": {
|
||||
"type": "call_invite",
|
||||
"tenant_code": "default",
|
||||
@@ -591,18 +592,22 @@ X-MeetingIM-APIKey: <预置的普通 API Key>
|
||||
"seq": "30",
|
||||
"call_id": "call_01K...",
|
||||
"call_type": "audio",
|
||||
"caller_id": "usr_caller"
|
||||
"caller_id": "usr_caller",
|
||||
"caller_display": "张三",
|
||||
"expires_at": "2026-09-18T10:00:30Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"time_to_live": 60,
|
||||
"time_to_live": 30,
|
||||
"apns_production": false,
|
||||
"classification": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
来电推送必须走普通 APNs/极光 alert 通知,不使用 PushKit VoIP topic;iOS `notification.ios.category` 固定为 `im_call`,用于客户端通知按钮。`time_to_live` 和 `expires_at` 以 30 秒左右短有效期为准,过期后服务端不再投递。
|
||||
|
||||
#### 0.5.5 Long Polling 与文件基础示例
|
||||
|
||||
##### 0.5.5.1 WebSocket 与文件基础接口
|
||||
@@ -2405,11 +2410,12 @@ GET /v1/im/topics/{topic}/message-mutations?since_version={localMutationVersion}
|
||||
|
||||
<img src="images/对方状态.png" alt="对方状态" width="360">
|
||||
|
||||
**状态:在线邀请已实现;Push 与产品鉴权需改造。**
|
||||
**状态:在线邀请、短有效期普通 Push 与产品鉴权已实现。**
|
||||
|
||||
- 来电是 Topic 下行的初始 `{data}`:`head.webrtc="started"`、`head.x-im-type="call"`,`content` 至少含 `callId,callType,audio,video`。客户端保存该消息 `seq` 作为后续所有 call note 的关联 ID。
|
||||
- 来电端开始响铃后发送 `{note:{topic,what:"call",event:"ringing",seq,payload:{"callId":"..."}}}`;接听发送 `event:"accept"`;拒绝发送 `event:"hang-up"`。
|
||||
- 后台 Push 只携带 `callId,topic,seq,caller_display,callType,expires_at`,不含 SDP、ICE 或 Token;用户操作后必须回 WebSocket 鉴权。
|
||||
- 后台 Push 只携带 `callId,topic,seq,caller_id,caller_display,callType,expires_at`,不含 SDP、ICE 或 Token;iOS 来电 Push 使用普通 alert,`category=im_call`,短 TTL 约 30 秒,不使用 PushKit VoIP。
|
||||
- 被叫在未发送 `ringing/accept` 前也可以直接发送 `hang-up`,服务端按 `topic+seq+callId` 校验后立即结束主叫侧振铃,并把原通话消息替换为 `declined`;主叫主动取消则替换为 `missed`。
|
||||
|
||||
### 8.3 语音通话-对方待接受状态.png
|
||||
|
||||
|
||||
Reference in New Issue
Block a user