(1)SDK 未初始化时,如果有事件触发(包括自定义的),会缓存在客户端内存,最多缓存 300 条
(2)SDK 初始化后,如果有事件触发(包括预置的、自定义的),是否调用了 start,start 之前会落库,start之后每 60s 上报一次(每次最多是 1600 条,如果一分钟内产生超过 1600条 需要等下个 60s 再报)
提供的 SDK 是混淆过的。
6.9.6 版本之后去掉了 imsi 字段的采集,对于 iimei、mac 地址、meid 等参数,如果需要关闭,有两种策略:
config.setImeiEnable(false);
teaExtension { // 埋点黑名单配置,仅支持以下配置: // 'MAC_ADDRESS': mac 地址 // 'IMEI_MEID': imei 和 meid trackBlackList = ['MAC_ADDRESS', 'IMEI_MEID'] }
初始化时候渠道参数是一个必填信息,设置的渠道参数一般是指 app 的来源渠道,比如某应用市场或者应用宝,或者自定的渠道信息(vivo,huawei 等)。如果客户获取不到这些值那么可以设置一个默认值,比如 “android_channel” 。
getAbConfig() 获取参数中传的 key 对应实验的实验结果,并上报曝光事件;
getAllAbTestConfigs() 获取用户所有客户端实验的分流结果,不会上报曝光事件。需要注意的是,返回的不是命中实验(曝光后)的用户实验信息。如果需要获取实验用户曝光进组的 VID 信息,Android 客户端请使用 getAbSdkVersion() 方法获取该用户的曝光 VID,IOS 端请使用 allVids() 方法获取该用户的曝光 VID。
用于过滤不需要插桩的类,比如第三方库不需要被插桩,举例:Tinker。
用于引入 AppLog 插件,插件主要有以下功能:
如果 android id 关闭 ,sdk 内部会有生成逻辑,并且仅在安装中生效,卸载后会重新生成。
具体可以参考文档“关闭Android ID采集”这部分内容
//二选一即可 // 仅关闭采集行为 config.setMacEnable(false); // 移除相关采集代码 // 在 app 级别的 build.gradle 中的最外层配置 teaExtension { // 埋点黑名单配置,仅支持以下配置: // 'MAC_ADDRESS': mac 地址 // 'IMEI_MEID': imei 和 meid trackBlackList = ['MAC_ADDRESS', 'IMEI_MEID'] }
目前没有特别针对 google play 的 SDK 版本,海外 APP 需要集成 global 版本,该版本 SDK 满足海外隐私合规政策。
不会,Android 在初始化前触发的自定义事件只缓存事件信息,等初始化后将获取的设备信息用户信息补充上,init 之前不会获取和 init 之后会获取。
会影响卸载重装后的 did 一致性。
具体可以参考文档“关闭Android ID采集”这部分内容
// 在 app module 级别的 build.gradle // 默认放到插件列表最后一个声明,如遇到冲突, // 可以将其调整到 application / kotlin 等官方插件后的第一个 apply plugin: 'com.bytedance.std.tracker'
可以通过回调方法 addDataObserver 监听 onRemoteIdGet,第一个参数为 boolean changed,但是是任意参数变化都会是 true,此时可以对比 @NonNull String oldSsid, @NonNull String newSsid,是否相同,如果不同就认为变化。
应该是测试时使用了生产上报地址,所以有数据。
oaid 是匿名设备标识符(Open Anonymous Device Identifier,OAID)是由移动安全联盟、中国信息通信研究院及终端生产企业共同研究制定了联盟标准《移动智能终端补充设备标识体系规范》中的一种 Android 平台的设备标识符。
SDK 没有直接作区分,只能通过参数来区分,使用分辨率字段。