-
Notifications
You must be signed in to change notification settings - Fork 188
隐私常见问题排查
lyuw819 edited this page Jan 20, 2022
·
43 revisions
先查看开发者文档,了解背景知识:开发者文档:集成云端隐私
- 插件框架SDK根据本地记录以及云端记录,决定是否需要弹出云端隐私弹窗。
- 本地记录存储在手机上,云端记录存储的服务器上。有本地记录的情况下,不会去获取云端记录。
- 只要有其中一个记录,则不会弹出云端隐私弹窗。在没有本地记录与云端记录的情况下,需要弹出云端隐私弹窗。
- 在需要弹出云端隐私弹窗的情况下,SDK会通过网络请求,获取对应云端隐私链接,弹出云端隐私弹窗,并展示云端隐私的链接。
- 如果网络请求没有获取到符合要求的数据,则不会弹出云端隐私弹窗。
- 保存本地记录:用户点击云端隐私弹窗的同意按钮;没有本地记录,但是有云端记录的情况下,会保存本地记录。
- 清除本地记录:卸载App、解绑设备或清除所有数据(该项仅Android适用)
- 保存云端记录:用户点击云端隐私弹窗的同意按钮
- 清除云端记录:解绑设备
插件使用云端隐私之后,需要去掉插件代码中原有本地隐私相关的逻辑。其中包括
- alertLegalInformationAuthorization
- openPrivacyLicense
- previewLegalInformationAuthorization
- privacyAndProtocolReview
- CommonSetting中本地隐私的配置项
- 共享设备也支持弹出云端隐私弹窗
- 共享设备和主设备(暂且这么称呼)共用同一份云端记录。也就是说,某一方点击云端隐私弹窗的同意按钮之后,就会保存云端记录,另一方也能够读取到。另外,如果读取到了云端记录,在没有本地记录的情况下会保存本地记录,下次进入插件则读取本地记录即可,不用读取云端记录。
先检查在iot开发者平台上,指定插件版本,是否已经正确配置云端隐私。如果已经配置,其状态是否为上线。非上线状态的云端隐私,只有白名单用户可以获取到。
在已经正确配置云端隐私的情况下,为了避免本地记录或云端记录的干扰,可以通过解绑设备的方式,清除该手机上的本地记录以及云端记录。(注意,这种方式并不能清除其它手机上,该设备的本地记录)在清除记录之后,再次进入插件,查看是否有云端隐私弹窗。
如果清除本地与云端记录之后,依然无法弹出云端隐私弹窗,则通过抓包方式排查。
服务端链接:https://api.io.mi.com/app/v2/plugin/get_protocol
抓包教程:Android端抓包 iOS端抓包
SDK会向get_protocol接口发起4个网络请求,对应type_int含义为:1. 隐私政策 2.用户协议 3. 用户体验计划 4.儿童保护规则
注意:
- 线上release包不支持抓包,需要使用开发包,即调试环境
- 抓包之前打开明文传输的开关
例如:
查看iot平台上,是否正确配置用户协议链接
参照问题1中第4步,此时type_int为2
- 抓包查看plugin/get_protocol接口返回情况 抓包查看获取云端隐私链接的接口的返回情况
- 如果对应type_int的url为空,需要找后台排查
- 如果对应的url不为空,确认下是否Android、IOS都存在问题
提示该问题是因为没有拿到隐私链接,出现该问题需要以下步骤排查
- 先检查插件隐私是属于本地隐私还是云端隐私
- 本地隐私需要自查本地隐私文件是否存在
- 云端隐私需要参考第2条关于《2.云端隐私弹窗常见问题》步骤进行排查 云端隐私排查步骤
采用WebView的createPrintDocumentAdapter创建文档打印器,进行pdf导出。
WebView进行分页时无法识别文字或者图片,又无可以设置的参数,因此会出现字体断裂情况。现在没有统一的处理方案应对所有厂商不同类型、内容的隐私协议文件
厂商自行对出现断裂上方或者下方加些空格,慢慢调整文件内容。PDF支持导出是合规性问题,字体出现断裂是体验问题,如果问题影响不严重也可以等后续看看有没有更好的导出方案。
进入手机目录Documents/external目录查看导出的pdf文件,使用其他阅读器是否正常。如果其他阅读器打开正常,那说明是选择默认的阅读器有问题