手机锁(设备管控)需求

1. 业务背景

手机分期业务:客户在门店分期购机,设备交付后通过设备管控能力进行贷后管理。逾期达阈值时分级限制设备功能,还款后解除。设备为 Android 智能手机(尼日利亚市场,存在弱网、低端机、ROOT、换卡等情况)。

锁机服务安装在客户分期手机上,不参与业务逻辑决策,只按风控指令执行限制。

2. 整体架构与职责分界

角色职责
锁机客户端原子能力执行者装在客户手机上,暴露细粒度、不可拆的原子 API,每个只做一件事,不含策略逻辑
锁机后端策略执行层接收风控指令,编排原子 API 组合下发,管理设备生命周期,聚合监测数据
风控系统策略决策者定义规则(逾期 N 天 → 限制等级 M),调用锁机后端 API 触发策略

策略层与执行层严格分离

风控系统(规则引擎)
  │  逾期天数 → 确定限制等级
  │  POST /lock/devices/{id}/strategy { level: 3 }
  ▼
锁机后端
  │  编排原子 API → 批量下发指令
  ▼
锁机客户端
  │  showWatermark("逾期2天","red") + blockOutgoingCalls() + blockNonWhitelistApps()

3. 限制等级定义

后端预定义 6 级标准套餐,供风控按等级调用;也支持跳过等级、直接调原子 API 自定义组合。

等级名称组合的原子能力
0Normal无限制,仅后台监测
1Watermark屏幕水印(可配文案 + 颜色)
2Mild水印 + 限制外呼/短信
3Moderate以上 + 限制非白名单 App
4Severe以上 + 全屏锁定(仅还款 UI)
5Maximum以上 + 限制呼入

4. 锁机客户端 — 原子能力

装在客户分期手机上,暴露标准化原子 API,不含策略逻辑。

4.1 水印控制

能力说明参数
显示水印屏幕水印text 文案 / color 颜色 / position 位置
隐藏水印

4.2 锁屏控制

能力说明参数
全屏锁定仅显示还款页面repaymentUrl 还款页地址
解除锁定

4.3 电话管控

能力说明参数
限制/恢复 呼出
限制/恢复 呼入
设置电话白名单白名单号码不受限numbers 号码数组

4.4 短信管控

能力说明
限制/恢复 短信发送

4.5 App 管控

能力说明参数
设置 App 白名单packageNames 包名数组
限制非白名单 App 启动
解除 App 限制

4.6 防卸载 / 安全防护

能力说明
拦截指定 App 被卸载 / 允许卸载防止锁机客户端或还款 App 被卸载
拦截恢复出厂设置 / 允许防止绕过管控

4.7 监测上报

能力上报时机
SIM 卡状态无卡 / 插拔 / 换卡时立即上报
联网状态断连 / 恢复时立即上报
GPS 位置定期 + 位置跳变时上报
ROOT/越狱状态检测到变化上报
心跳定期上报(间隔可配)

4.8 客户端 API 设计原则

  1. 原子正交:调一个 API 不影响其它、不隐含其它行为。
  2. 无策略逻辑:客户端不判断”逾期几天”,只执行指令。
  3. 幂等:重复调用同一状态不报错。
  4. 状态可查:支持查询当前所有限制状态。

5. 锁机客户端 — 保活机制

确保客户端持续运行,不被用户终止或卸载。

维度要求
防卸载拦截用户主动卸载、设置卸载、ADB 卸载(Device Admin)
自启设备重启开机自动拉起;被强杀后守护进程自动重启
心跳保活间隔可配(默认 30 分钟);连续 3 次未收到判定离线;上报 device_id + 限制等级 + 水印状态 + 时间戳 + 电池/网络
升级后端推送、后台静默下载;失败回滚;可强制升级(不升级则限制部分功能)

6. 锁机后端 — 策略执行

接收风控指令,编排原子 API 组合下发到客户端。

6.1 等级 → 原子组合编排

等级编排内容
0 Normal仅心跳监测,解除所有限制
1 Watermark显示水印
2 Mild水印 + 限制外呼 + 限制短信
3 Moderate以上 + 设置 App 白名单 + 限制非白名单 App
4 Severe以上 + 全屏锁定(还款页)
5 Maximum以上 + 限制呼入

6.2 指令下发与执行保证

机制要求
流程记录策略变更日志 → 编排原子组合 → 依次下发 → 等待客户端 ACK → 更新设备状态
ACK 确认每条原子指令等 ACK,超时重试 3 次
离线队列客户端离线时指令暂存,恢复后逐条下发
幂等重复下发同一等级不产生副作用
操作日志全链路日志(风控请求 → 后端编排 → 客户端执行)

6.3 策略变更

场景处理
升级先解除当前等级抑制逻辑,再下发新等级
降级对比差异,仅下发需变更的原子指令
解除(全额还款)逐项解除所有限制

7. 锁机后端 — 设备管理

7.1 设备注册 / 注销

场景流程
交付时注册现场触发注册 → 客户端生成设备指纹 → 后端登记并返回 deviceId
换机/重装旧设备注销 → 新设备重新注册
分期结清解除限制 → 客户端清除本地数据 → 标记 inactive
设备回收标记 unregistered → 客户端自卸载

7.2 注册信息

device_id(后端生成)/ device_fingerprint(IMEI/序列号/Android ID 等)/ phone_model / android_version / customer_id / order_id / status(active / inactive / unregistered)。

7.3 设备状态查询

  • 单设备:基本信息 + 当前限制等级 + 客户端版本 + 最后心跳 + 在线状态
  • 批量:按 customer_id / order_id / status 过滤
  • 监测汇总:SIM / 联网 / GPS / ROOT 等最新状态

7.4 白名单管理

类型说明
全局白名单默认 App / 电话白名单,对所有设备生效
设备级白名单为特定设备单独配置,覆盖全局
推送修改后推送在线设备,离线设备排队推送

默认白名单:App = 我方还款 App、主流钱包 App、银行类 App;电话 = 我方催收、我方客服。


8. 锁机后端 — 监测数据与告警

8.1 上报类型

类型触发时机内容
SIM 状态无卡 / 插拔 / 换卡sim_state / operator / iccid
联网状态断连 / 恢复 / 定期connected / network_type / offline_duration
GPS 位置定期(默认 6h)/ 跳变lat / lng / accuracy / timestamp
ROOT 状态变化时is_rooted / detail
心跳定期(默认 30min)设备基础状态 + 当前限制等级

8.2 告警规则(实时通知风控系统)

告警触发条件
无 SIM 卡sim_state=absent
SIM 换卡sim_state=swapped 与新卡不匹配
设备离线连续 3 个心跳周期未收到
位置异常定位到非目标国家,或与上次距离过远
ROOT 检测is_rooted=true

8.3 数据存储与保留期

设备基础信息(设备生命周期)/ SIM 变更记录(180 天)/ GPS 轨迹(90 天)/ 心跳日志(30 天)/ 操作日志(180 天)。


9. 对接接口能力清单(供风控系统调用)

具体接口协议(路径、参数、格式)由对接阶段确定;此处列能力。

策略控制:应用标准套餐(等级 0-5)/ 应用自定义策略(原子组合)/ 解除限制 / 查询设备当前策略
设备管理:设备注册 / 设备注销 / 查询设备详情 / 批量查询设备
白名单管理:设置全局 App 白名单 / 设置全局电话白名单 / 设置设备级白名单 / 查询白名单
监测数据:查询设备告警 / 查询设备监测数据


10. 解锁流程

全额还款后,风控系统通知后端解除所有限制;客户端逐步恢复:解锁屏 → 解 App → 解外呼 → 隐藏水印。


11. 能力清单(评估 / 自检)

逐项标注支持程度:(具备)/ 部分(需定制)/ (不支持),说明栏注明版本/限制/对接方式。

#能力项支持(是/部分/否)说明
1屏幕水印(文案/颜色/位置可配)
2全屏锁定(仅展示还款页 URL)
3电话呼出/呼入限制 + 电话白名单
4短信发送限制
5App 白名单 + 非白名单 App 启动限制
6防卸载(用户/设置/ADB)
7拦截恢复出厂设置
8开机自启 + 被杀自动重启(保活)
9静默升级 + 回滚 + 强制升级
106 级标准套餐 + 自定义原子组合下发
11指令 ACK + 超时重试 + 离线队列
12设备注册/注销/指纹/状态查询
13全局/设备级白名单管理与推送
14SIM 状态/换卡 上报与告警
15联网状态上报 + 离线判定告警
16GPS 位置上报 + 位置异常告警
17ROOT/越狱检测与告警
18心跳保活(间隔可配)
19开放 API 供风控系统调用(策略/设备/白名单/监测)
20监测数据存储与保留期可配

技术评估补充

  • 支持的 Android 版本范围:
  • 是否需要设备预装 / 厂商 ROM 配合:
  • 低端机 / 弱网表现:
  • 数据合规与本地化(数据存储地区):
  • 集成方式(SDK / MDM / 独立 App)与对接周期: