排查问题优化 – 《截屏分享》

一、背景

由于我司是做 IoT 相关的开发,经常会遇到客户反馈设备面板操控不了设备,然后各种客户问题群拉起来,咨询客户提供相应的账号、设备 id、时间点、手机型号,然后再用日志平台来查询用户的操作日志,排查出是哪个环节发生了问题。

看似很简单的一个流程,但排查之前的客户配合极其阻塞,总结原因有如下:客户不懂设备 id 是什么东西,需要反复 “教育” 用户如何从应用中取设备 id 客户觉得提供自己的账号有点侵犯隐私不愿提供,特别是海外用户 需要客户提供的信息点太多,客户不太愿意配合

在海量日志面前,去定位一个只提供时间点而未提供唯一属性信息是难上加难的

二、思路

能不能有一种办法,既能减少用户的操作步骤,又能提供更多的排查信息给到我们呢?答案有,那就是截屏分享。

对客户而言:客户只需要在发生问题的界面进行截屏,在弹出的反馈问题弹窗上面将当前图片分享给我们的客服即可,或是提交工单时提供该反馈截图也可以。对我们而言: 应用监听截屏操作获取截屏图片,弹窗提示用户进行问题反馈,用户点击反馈分享时,提取当前页面的业务参数和设备信息,将这些信息加密写入图片,我们拿到图片解析图片信息。

三、调研

1、截屏

调研了市面上监听截屏操作的方案,只有一种比较靠谱,通过 FileObserver 来监听 “截屏” 文件目录是否有新的文件生成。不同产商的手机的 “截屏” 文件目录会不一样,对于我的红米手机来说,可以进相册查看截图文件路径信息:

排查问题优化 - 《截屏分享》

更多的文件路径可以参考该作者的文章 https://www.jianshu.com/p/9e9e7545f0b4

缺点也很明显:
– 需要自己去排查市面上主流机型的截屏目录位置
Android 11 及之后开始分区存储,SD 卡目录的文件会访问不了,但对于如果 targetSDK 还没有升上来的话,暂时还能用用

如下是饿了吗的截屏监听弹窗:

排查问题优化 - 《截屏分享》

2、写信息进图片

起初调研想法是通过 Exif 向图片写入元信息,但后来想了一下,如果用户是通过微信分享图片给我们的技术支持的话,微信的压缩图片是会抹除图片的元信息的,除非用户发原图,但要求太多,用户可能会觉得很繁琐。后来想了一下市面上常见的方案,不如直接将信息生成一个二维码,然后与截图图片拼接成一个图片,例如淘宝商品:

排查问题优化 - 《截屏分享》

无论用户分享的图片是压缩过的还是被二次截图,只要二维码能被识别出来即可。当然,二维码里面不可能只存元信息,一般都是应用的下载链接后面拼接一个加密的参数,用户如果扫码的话,仅仅只是跳转到下载应用页面而已。加密的话可以直接用公钥。

4、总结

看了下饿了吗的 “截屏反馈” 交互,他们更像是一个工单提交的功能,用户可以在截图上面进行绘制,标明是点击了哪个 UI 发生了该问题,还可以对问题进行详细描述,最终通过反馈按钮提交信息。但需要注意的是,提交工单到后端,我们的技术支持也是一样,要去海量的工单库中去捞工单,并且还无法确定当前反馈用户对应的是哪个工单,依然还是需要用户提供账号来搜查该用户提交了哪些工单,流程依然繁琐。

我们的想法是,用户反馈问题时,我们能立马做出响应。

参考文章:
https://www.jianshu.com/p/9e9e7545f0b4 https://sq.sf.163.com/blog/article/172488654567956480 https://Github.com/1218683832/ScreenshotsShare


原文始发于微信公众号(扣浪):排查问题优化 – 《截屏分享》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/57377.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!