Seetong · Report

🎯 Seetong 问题雷达 17:00 第81期

时间窗口:2026-07-30 09:00~17:00

📌TL;DR 核心要点

  • 🔴 SD卡异常触发设备离线告警(1 条反馈,置信度 🟡 中):Logan 确认设备持续上报 SDCardState=-5,剩余空间 0 GB,属于 SD 卡物理损坏/满载,与反馈"连不上网,离线,老是显示存储卡异常"完全吻合。
  • 观察项:另一条"看不到家里情况"(devId=11386876)系设备离线 7+ 天,属用户侧问题,未达雷达门槛。
  • 数据源状态:🟡 神策 SiotDevConnectResult 查询 GRPC 异常(字段名不兼容),友盟 502 超时;Logan 完整可用。

🔥最近一个月 Top 问题

按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-07-30)。

#问题(严重度降序)严重度平台版本负责人问题原因
1设备离线/P2P 通道失败(5 条 8h)
1 期
90—8.2.1.3 / 8.3.10.2 / 8.3.12.5唐胜、许源、张威用户设备 lastHeartTime 自 2026-07-03 02:25 起完全停止(用户尝试断电重启无效),客户端 TPS_MSG_P2P_OFFLINE 反复触发导致离线提示循环,但设备侧的物理掉线才是真实根因
2回放入口/状态映射异常:无存储能力设备仍露出回放入口
2 期
70Android1.1.0.9 / 8.1.2.4 / 8.3.12.5唐胜、张威回放入口与录像状态 UI 主要依赖 sdRecordStu/权限,但未同步校验 NO_LOCAL_STOARGE 与 SDCardState=0,导致无存储能力设备仍可能暴露回放预期或状态显示异常。
3在线看不到
1 期
70Android8.3.13.3张威、唐胜NVR 通道预览链路在握手后立即被底层判为 PeerOffLine,APP 按现有逻辑只做快速重试,没有把通道离线与临时连接抖动区分开,最终表现为“在线看不到”。
4多端手机端无回放
1 期
70Android1.1.1.6 / 8.3.13.3冉博麟、李国涛(本期未收敛到单一根因)
5设备离线/掉线后无法预览
1 期
70Android · iOS1.1.1.6 / 8.2.2.1 / 8.3.13.3唐胜、张威设备预览链路在收到 TPS_MSG_P2P_OFFLINE 后直接走离线兜底分支,UI 进入“该设备不在线”,而自动恢复逻辑又被离线判断短路,导致用户感知为“掉线后无法再连上”。
6录像回放缺失 — 无 SD 卡的设备被直接引导云存购买(产品设计问题)
1 期
65Android · iOS8.3.12.5 / 8.3.13.3 / 8.3.13.4张威、唐胜、陈宝旺无 SD 卡 + 未开通云存的设备,在 NVR 回放协议响应无效时直接跳转云存购买页,没有任何"为什么没录像"的说明,用户感知是"以前能看现在不能"
7设备二维码模糊/找不到(3 条 8h)
1 期
65—8.3.12.5待定(本期未收敛到单一根因)
8Android NVR 回放/预览偶发不出图,断开重连后恢复
1 期
60Android—唐胜、张威NVR 回放/预览链路在首次 addWatch + 查询录像时间片 阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。
9Android 监控预览 addWatch 失败 + 10 秒循环重试
1 期
60Android8.3.13.3唐胜Android 端 LibImpl.startPlay 把 addWatch 返回的 P2P 断连错误码(-1)通过 if (ret == SDK_CONSTANT.ERR_P2P_DISCONNECTED) ret = 0; 强制归零,导致上层误以为流启动成功,进入 10 秒循环重试;用户看到的"长时间缓冲"实质是 10 秒 × N 次的循环重试视觉感受
10iOS 8.3.12.6 灰度放量新症状 4 期累计扩散
1 期
60iOS8.3.12.5 / 8.3.12.6欧阳荣、谭伟iOS 8.3.12.6 客户端第三方微信登录→绑定手机号→触发滑动验证→重发短信验证码的全链路(BindNewPhoneOrEmailViewController.m:317-378)均正常工作,服务端短信下发接口返回 200 成功,根因在第三方短信通道商下发链路(运营商拦截 / 短信网关失败 / 用户手机短信拦截),非客户端代码问题。

🔴 问题 1:SD卡损坏触发设备离线告警 | 负责人:唐胜、张威

1. 现象与覆盖范围

  • 现象:用户反馈"连不上网,离线,老是显示存储卡异常"(Android vivo V2217A,App 8.3.14.2,客户端 99f9c373)
  • Logan 脱敏:设备 devId=40487559(苏楼仓库),用户 IP 山东省菏泽市,4G 网络
  • 严重度评分:60/100(反馈量 10 / 共性 10 / 关键度 40)

2. 神策证据(⚠️ 降级)

  • 状态:query_segmentation_report + query_sql 均失败(GRPC 异常,Impala 无法解析 result/error_code 字段)
  • 替代数据:MonitorWatchStep 日均观看次数约 32-36 万次,近 7 天无明显异常波动(7/23~7/30)
  • 置信度影响:🟡 神策失效,Logan 证据独立支撑

3. Logan 关键日志(核心数据源)

  • 反馈 ID:FB-239351
  • 关键栈:LibImpl.java(SDK Native层) → PreviewPlayerView.kt → VideoRecordActivity.java
  • SD卡状态演化:
  • 09:53:22 → SDCardState=-2,SDCardRemainSpace=12288(初始化检测)
  • 09:53:23 → SDCardState=-5,SDCardRemainSpace=0,SDCardRecordState=-1(异常持续)
  • 09:53:27 → SDCardState=-5,SDCardRemainSpace=0(持续未恢复)
  • 设备离线链路:TPS_MSG_P2P_OFFLINE(dev4gOnline=1 但 P2P 通道断开)→ 用户感知为"离线"
  • 上下文:设备为低功耗设备(is_low_power: true,devNetType=1),4G 网络,使用中继连接(connect_type=RELAY)
  • SD卡状态 -5 含义:对照 PreviewPlayerView.kt:sdRecordStu 和 SettingUI_Record.java 中 SDCardState 枚举,-5 = 存储卡满或损坏

6. 代码定位

  • 涉及模块:app/src/main/java/com/seetong/app/seetong/sdk/impl/LibImpl.java(Native SDK 回调)
  • 关键类:PreviewPlayerView.kt:sdRecordStu(行 ~L776)
  • 调用链:LibImpl.java:MSG_DEV_SD_STATUS_INFO 回调 → PreviewPlayerView.onSDStatusChange() → PlayerDeviceManager.updateSDState() → UI 层显示"存储卡异常"
  • SDCardState -5 分支:SettingUI_Record.java 中 switch-case 处理 -5 状态 → 触发 toastHint + 离线告警
  • 修复方向锚点:
  1. PreviewPlayerView.kt L776:sdRecordStu=1 → abnormal=-5 时,应展示更明确的 SD 卡损坏提示而非泛化"离线"
  2. LibImpl.java 中 MSG_DEV_SD_STATUS_INFO 回调,应区分"SD卡未格式化"/"SD卡满"/"SD卡损坏"三种 -5 细分状态
  3. PlayerPreviewActivity.java 中对 -5 的处理可以增加"引导用户更换SD卡"的主动提示

7. 根因结论

  • 置信度:🟡 中(Logan 证据完整,神策未拿到数据)
  • 一句话根因:SD 卡物理损坏(状态 -5,剩余空间 0 GB)导致设备持续上报异常,同时触发设备离线告警
  • 关键证据链:SDCardState=-5 + SDCardRemainSpace=0 + TPS_MSG_P2P_OFFLINE 三者共同印证

8. 建议下一步

  • 分配给:Android 团队
  • 优先处理项:
  1. SDK 层区分 -5 的三种子状态(未格式化/满/损坏),提供差异化提示
  2. App 层对 SD 卡异常的引导文案优化,减少"离线"混淆
  • 验证方法:复现路径——插入一张损坏/满载 SD 卡,观察设备状态上报 + 用户感知反馈

本期扫描全量

#关键词反馈数分类处置
1SDCardState=-5 存储卡异常+离线1🔴 进雷达详细分析见上
4iPhone 夜晚模式建议1🟤 心愿单已排除
5录像回放不同步(Harmony 双目)1🟢 用户操作/配置已排除
6回放黑屏(8.4.0.1)1🟢 设备端已排除(单用户单设备)
7分享后不认识1🟢 用户操作已排除
8售后服务差/发票未开2🟢 非功能问题已排除
9网络优化卡住/信号强度看不清1🟢 UI 体验已排除
10其他噪音(emoji、乱码、单字)~20🟢 无效反馈已排除
已折叠 2 条普遍性网络问题(含 -102/-101/-1002 与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如 Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。

待补证

  • 神策 SiotDevConnectResult 查询 GRPC 字段名需矫正(result → 实际字段名),下次 run 优先验证字段定义
  • 友盟崩溃数据 502,需确认是否系统级故障

下一期 = 第82期 = 2026-07-31-H09(明天早上 9:00)

🗂️历史期次

查看全部历史期次(近 90 天)→