一、标识符自助生成
参考代码:
// 当用户授权后,方可正常初始化QAPMif (isAgree) { // 需要传入设备的唯一标识 QAPM.setProperty(QAPM.PropertyKeyDeviceId, "设备的唯一标识"); // 需要传入手机型号 QAPM.setProperty(QAPM.PropertyKeyModel, "填写手机型号"); // 正常初始化代码贴入,参考文档 集成和初始化>步骤三}
二、标识符生成
可以通过自行实现以下方法:Stringutil .getMD5(Build. BRAND + Build.Model + androidId + macAddress + imei)。
生成设备标识符并自行传入,其中 Build. BRAND、Build.Model 、 androidId、 macAddress 为必须项,若你本身不会获取 “IMEI”,“IMEI” 字段可缺省。
三、首次启动数据自助上报
为了响应隐私合规要求,App 在指定设备上的首次启动,QAPM SDK 将无法采集到首次启动耗时信息,如需要上报首次启动的耗时数据,请调用以下接口进行主动上报(请确保在用户同意隐私政策后再调用):
// startTime 应用最开始的时间,建议打在 Application 的 attachBaseContext 方法的最上方// endTime 应用结束的时间,可以自定义,QAPM 打在第一个 Activity 的 onResume 方法的最下方QAPM.sendFirstLaunch(startTime, endTime);
四、标识符变更获取
当前监管要求 SDK 不允许直接或间接采集 IMEI 等信息,我们只能通过用户自行传入标识符的方法去区分不同的设备。
注意:仅使用5.0.7以前版本 SDK 的用户需要关注。
五、标识符变更解决方案
·推荐
1. 在 5.0.7 版本之前已经使用自行传入设备标识符的方式接入 QAPM,则可以继续采用传入自行生成的设备标识符,不会对任何数据造成影响。
2. 在 5.0.7 版本之前采用的是由 SDK 自行采集设备标识符的方式,更新到 5.0.7 及以上版本,可以通过自行实现以下方法:
Stringutil .getMD5(Build. BRAND + Build.Model + androidId + macAddress + imei)。
生成设备标识符并自行传入,其中 Build. BRAND、Build.Model 、 androidId、 macAddress 为必须项。若你本身不会获取“IMEI”,“IMEI”这一字段缺省即可。使用通过该方法生成的设备标识符与5.0.7及以前版本的标识符一致,不会对任何数据造成影响。
·不推荐
在5.0.7版本之前采用的是由 SDK 自行采集设备标识符的方式,更新到5.0.7及以上版本,采用自行生成标识符号的方式,则会对 crash 率,用户 ANR 率指标的总体数据有影响,需要全部用户都更新到了这一个 SDK 才能消除影响,但是历史数据和新版本的版本级数据均不会受到影响。