Table of Contents
15.4.1 偶像群聊页面心跳【已开发,待登录态联调】
进入偶像端群聊页面后立即调用,并在页面停留期间每 20 秒调用一次:
POST /tieup/api/v1/artist/im/presence/heartbeat
Authorization: Bearer <access_token>
X-Device-Id: ios_device_01
Content-Type: application/json
完整请求示例:
{}
请求字段:
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
Authorization |
Header | string | 是 | 当前偶像端登录 Token,服务端从 Token 解析艺人身份,不接受客户端传艺人 ID |
X-Device-Id |
Header | string | 是 | 当前设备标识,长度不超过 128;多设备分别维护页面存活状态 |
完整响应示例:
{
"code": 200,
"message": "成功",
"data": {
"active": 1,
"heartbeat_interval_seconds": 20,
"expires_in_seconds": 50
}
}
响应字段:
| 字段 | 类型 | 说明 |
|---|---|---|
active |
integer | 当前设备群聊页面状态,1 表示已刷新存活时间 |
heartbeat_interval_seconds |
integer | APP 建议心跳间隔,默认 20 秒 |
expires_in_seconds |
integer | 服务端页面存活 TTL,默认 50 秒 |
主动离开群聊页面时调用:
DELETE /tieup/api/v1/artist/im/presence
Authorization: Bearer <access_token>
X-Device-Id: ios_device_01
完整响应示例:
{
"code": 200,
"message": "成功",
"data": {
"active": 0
}
}
说明:
- 心跳只表示偶像是否正在群聊页面,不等同于融云在线状态或
tieup_user.online_status。 - 任意一个设备仍保持心跳时,偶像可接收粉丝阅读偶像定向消息和群发消息的已读通知。
- APP 异常退出或未调用离开接口时,当前设备状态会在最后一次心跳约 50 秒后自动失效。
- Redis 异常时服务端按页面不存活降级,已读事实和统计仍正常处理,但跳过偶像侧系统消息和融云通知。
- 偶像离开页面期间产生的已读通知不积压、不补发;再次进入页面后通过消息历史和群发已读统计获取最新状态。