320 字
2 分钟
实时定位与到期保护:SDK 里魔鬼细节
实时定位:不要缓存
SuperSmsLocationHelper 强调“获取本次请求后产生的当前坐标,不读取系统定位缓存”。查短信要提交经纬度,缓存坐标会导致位置漂移——对风控/调度类业务,旧坐标比没坐标更危险。代价是每次多等几秒 GPS,但正确性面前,体验让路。
节奏听服务端的
查询间隔不写死在客户端,由服务端下发(MessagesResponse 里带间隔参数)。业务方想调频控策略,改服务端配置即可,不用发版。SDK 里凡是“频率”“开关”“阈值”,默认都该是服务端说了算。
到期保护 AppExpiryGuard
// 超过 2026-07-29 00:00:00(Asia/Shanghai)后立即退出应用试点/联调包加个到期保护是常规操作:外发测试包不回收,旧包一直在外面跑,接口一升级就满地报错。AppExpiryGuardTest 把边界时间测了——连“自杀开关”都有测试,这就是商用代码和 demo 的区别。
我的 SDK 细节清单
- 定位用实时,不用缓存
- 频率开关服务端下发
- 外发包加到期保护
- 未完成接口写进 README,不藏
- 请求/响应打日志,联调时能自证清白