1 Android SDK
Android设备的默认设备ID为应用级别唯一的设备ID,由Quicktracking自动生成:
Android9及以下设备:SDK自动采集imei、wifimac、androidid、SN生成设备ID,生成后存入本地,只有卸载应用或者删除应用数据才会重新生成设备ID。
Android10级以上设备:SDK自动采集oaid、gaid、androidid、SN生成设备ID,生成后存入本地,只有卸载应用或者删除应用数据才会重新生成设备ID。
使用应用的C端用户同意采集idfa和oaid,QuickTracking SDK才会采集,只有QuickTracking app SDK可以采集到oaid、gaid、imei、wifimac、androidid、SN、idfa、idfv。
可使用下述方法获取设备ID:
QtConfigure.getUMIDString()
2 iOS SDK
iOS设备的默认设备ID为应用级别唯一的设备ID,由Quicktracking自动生成:
iOS设备:SDK自动采集openudid生成设备ID,生成后放入keychain中,只有恢复出厂设置或者删除应用数据才会重新生成设备ID。
使用应用的C端用户同意采集idfa和oaid,QuickTracking SDK才会采集,只有QuickTracking app SDK可以采集到oaid、gaid、imei、wifimac、androidid、SN、idfa、idfv。
可使用下述方法获取设备ID:
+ (NSString *)umidString;
3 小程序 SDK
小程序设备ID需要通过开发者获取上传:
设备ID指各个小程序官方生成的唯一ID(例如微信的openid)
上传方式为赋值给"_anony_id":
//如采集用户ID是异步行为,需要先阻止SDK上报,设置BLOCK埋点
aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'BLOCK']
});
// 设置 _anony_id
aplus.aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_anony_id", "您获取的openid"]
});
// 因为采集用户ID是异步行为,故需要先设置BLOCK,再设置START
// 设置_hold=START后,事先被block住的日志会携带上用户信息逐条发出
aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
});
若需要在小程序端上获取QuickTracking的设备ID时,可以在在metainfo中获取_anony_id;
4 Web/H5 SDK
web设备ID默认由Quicktracking自动生成
SDK自动生成的设备ID获取方式如下:
在当前域名的cookie下存储名为cna的字段,可以通过解析document.cookie获取
通过_dev_id方式自定义上传的设备ID获取方式如下:
开发者通过setMetaInfo设置_dev_id可以自定义设备id,可通过aplus.getMetaInfo('_dev_id')
读取