设备ID获取方式

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')读取