You need to enable JavaScript to run this app.
导航
iOS SDK调试及数据验证
最近更新时间:2024.08.21 11:12:43首次发布时间:2023.06.09 16:02:39

1. 检查项验证

(1)SDK是否引入,可以通过远程引入和离线引入两种方式,推荐远程引入,如果需要手动引入,请先下载sdk,之后参考文档手动引入;
(2)检查是否添加source源
(3)检查是否集成SDK初始化代码 (4)检查appid是否为想上报应用的appid
(5)检查是否配置channel渠道,iOS一般默认App Store渠道
(6)检查数据上报地址是否设置正确,saas使用默认即可,如果是私有部署需要配置私有部署的数据上传地址,在做数据上报的时候需要保证手机和电脑访问这个地址是通的,本机可以ping下域名
(7)检查AB开关是否开启:config.abEnable = YES;
(8)检查是否调用实验api ABTestConfigValueForKey;
(9)如果使用实时埋点监测或者圈选功能,需要做以下验证:为什么实时埋点检测及圈选无法进入
(10)以上检查验证完之后就可以调用相关api,比如分流、用户、事件等api上报

2. 实验调试

2.1 为什么要调试实验

实验上线前需要保证前面的集成过程无误,上线后才能保证实验结果的科学和有效!

2.2 开启调试状态

参照创建实验,使实验处于“调试中” 状态,如下图所示:

  • 实验状态一共分三种:调试中、运行中、已结束。

图片

2.3 开始调试验证

(1)初始化中打开log开关,可以在output中看到Track Launch event相关信息证明sdk初始化成功

  • objective-c
    图片
  • Swift
    // 在控制台输出日志,可用于观察用户行为日志上报情况,建议在上线时关闭
    config.showDebugLog = true // true:开启日志,false:关闭日志
    config.logger = { (log) inprint(log ?? "log is nil")} // 开启日志时设置Logger
    

(2)通过获取ssid api获取ssid,由于sdk初始化之后会去id服务拿ssid,因此获取ssid前加个2s的延迟

  • objective-c

    #import <RangersApplog/BDAutoTrackNotifications.h>
    // 在初始化 SDK 之前设置监听
     [[NSNotificationCenter defaultCenter] addObserver:self
                                                selector:@selector(onRegisterSuccess:)
                                                    name:BDAutoTrackNotificationRegisterSuccess object:nil];
    //SDK 初始化代码部分
    //然后在 SDK 初始化之后设置回调
    - (void)onRegisterSuccess:(NSNotification *)noti  {
        NSString *dids = [noti.userInfo objectForKey:kBDAutoTrackNotificationRangersDeviceID];
        NSString *ssids = [noti.userInfo objectForKey:kBDAutoTrackNotificationSSID]; 
        NSLog(@"onRegisterSuccess.dids:%@", dids); // 获取设备bddid
        NSLog(@"onRegisterSuccess.ssids:%@", ssids); // 获取SSID
    }
    
  • Swift

    NotificationCenter.default.addObserver(self, selector: #selector(onRegisterSuccess), name: NSNotification.Name(rawValue: BDAutoTrackNotificationRegisterSuccess), object: nil)
    
    func onRegisterSuccess(noti: Notification) {
        let did = noti.userInfo[kBDAutoTrackNotificationRangersDeviceID]
        let ssid = noti.userInfo[kBDAutoTrackNotificationSSID]
        print("onRegisterSuccess.dids:\(did)")
        print("onRegisterSuccess.ssids:\(ssid)")
    }
    

(3)获取到ssid后,将ssid添加到白名单的任意版本做测试,并在右下角点击"保存"按钮。如下:

图片
白名单功能说明(详情请参考受众白名单

  • 白名单功能主要是用于测试调试实验/feature,添加白名单的用户会被强制命中实验,方便在测试的过程中可以测试实验版本和对照版本的效果。
  • 白名单需要添加分流id,客户端实验分流id是ssid,服务端实验分流id使用的decisionid(也就是代码的第一个id),一般我们建议使用uuid,所以我们也会看到有些白名单是uuid。

(4)运行app,看右下角返回的实验参数是否为添加白名单对应的版本value,未命中实验会返回默认值

图片
如果返回的是默认值,需要检查:

  • ssid添加后是否做保存
  • ssid添加的对不对,运行的ssid是不是添加白名单的ssid
  • abtest_config接口是否通,在日志中搜索abtest_config,查看接口是否通
  • 如果以上都不是,确定是获取实验参数的代码是否在初始化前执行

(5)如果实验参数获取正常,那么整个实验调试就OK了

3. 数据验证

3.1 埋点验证功能验证

注意:如果单独购买AB的私有部署版本,只有超管权限可以使用,如果其他成员需要验证,可以使用抓包,saas和同时购买AB和finder的可以正常使用。
功能说明:https://www.volcengine.com/docs/6285/66054
需要按照实时埋点的相关要求集成,当集成成功后在系统管理-数据管理-一般事件,点击验证埋点,选择移动端
图片
扫码之后会实时看到上报的行为数据,左侧为实时的行为,右侧为对应行为的属性信息
图片

3.2 抓包验证

配置好抓包工具,选择数据上报地址对应的接口,查看app_log中的event_v3的接口,也可以通过抓包看abtest_config接口返回的结果
saas地址:http://toblog.volceapplog.com,私有部署需要选择对应的数据上报地址
图片

3.3 系统验证

说明:用户细查功能仅SaaS系统支持
在指标管理-数据管理验证,上报的自定义事件和自定义属性在事件列表、事件属性和用户属性列表是否存在。
图片
在全局设置-受众管理-用户细查,查看上报用户的详细行为,当在用户细查验证数据都OK,整个集成及上报就验证完成
图片
图片
图片