SDK集成
iOS SDK的缓存清理机制? 答:截止至版本6.16.8,iOS还没有将数据过期删除的功能上年至tob版本的RangersApplog中。也就是目前不支持清理过期缓存数据。
ios SDK与第三方组件openssl标准库冲突?
答:IOS SDK升级6.16.4版本后新增SM2功能引入了openssl标准库,可能会与第三方组件冲突。如不使用移除SM2功能组件就可以,若必须使用SM2功能可以考虑不使用pod集成,直接拉取对应集成产物进行接入,删除xindun或者RangersApplog其中一个的openssl依赖,若以上都不能解决的情况下联系火山侧同学。
为什么正式上线需要移除scheme包?合规风险指的是什么? 答:正式上线版本需要下线scheme包,scheme包包含注入式代码,隐私合规有风险。
iOS集成sdk后会报警告 /RangersAppLog/BDAutoTracker/Classes/Core/Logger/RangersLogManager.m:134 Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Utility quality-of-service class. Investigate ways to avoid priorit? 答:
该报错源于Debug模式下开启的日志打印功能,导致高优先级线程(User-interactive QoS)与低优先级线程(Utility QoS)发生资源争夺,属于SDK在特定调试场景下的预期行为。 客户上线的时候,debug开关是需要关掉的,这个对他们线上应该没有影响。
集成ios sdk遇到从 pods拉取不到onekit,如何解决? 答:直接把onekit子包删掉就可以。
iOS的数据上报策略 答:SDK未初始化不会本地缓存。上报时机:
切换 App 前后台时立即上报 profile请求时立即上报 SDK启动后每60s上报一次(每次最多是2000条,如果一分钟内产生超过2000条需要等下个60s再报)
iOS本地缓存储存在哪里?SDK侧是否有限制? 答:本地缓存是存在 sqlite 里,SDK没有做限制,跟随手机的内存大小限制。
iOS SDK是否支持iWatch的watch OS系统 答:暂不支持。如果需要使用埋点,可以考虑使用HTTP API,参考文档:https://www.volcengine.com/docs/6285/152564
iOS客户端调完pullABTestConfigs接口后,收不到ABTestSuccess的回调通知 答:检查监听通知的对象,在回调通知时是否被释放,如果被释放了会导致收不到通知。
如果在BDAutoTrackNotificationABTestSuccess这个回调之前,调用[BDAutoTrack allABTestConfigs],然后根据Key逐一遍历的话,获取到的AB值是对的吗? 答:iOS端获取分流结果的API,都是从SDK缓存区拿的结果,对于客户来说只有是拿到缓存更新前和缓存更新后的值,至于对不对,取决于缓存更新前有没有发生变化。
上报数据异常
iOS的上报事件数据实时埋点,但是finder上没有查询到落库的数据? 答:
实时埋点验证和数据上报是两个不同的上报渠道,因此实时埋点验证连接成功并不代表数据上报成功。 可以使用devtool工具观察事件的状态是否为已上报,并根据devtool中的user_unique_id、ssid或者device_id在finder平台上查询数据。
更多FAQ
更多关于数据接入的FAQ请参见SDK集成&数据上报 。