1. 什么是调试设备?

调试设备用于测试试验分组的策略是否被正确下发。一旦设备被接入到某个试验分组,将固定命中当前的分组策略,以便我们观测该策略的实际效果是否满足试验要求。

  1. 调试设备不受试验层内流量互斥的逻辑约束,但一台设备在一个试验中只能添加到其中一个分组。
  2. 试验上线后调试设备仍然生效,从试验移出后将被正常分流。
  3. 调试设备命中试验不会触发 $ABTesttrigger事件,即产生的数据不会被计入试验报告中。

2. 调试设备管理

在调试设备管理中,可以进行常用调试设备的管理。

2.1. 新建调试设备

名称:支持对设备自定义命名,设备名称不能重复。支持输入中文、英文、数字和下划线,长度不超过40个字。

设备ID/登录ID:设备唯一标识。移动设备(Android和iOS)支持扫码录入。

备注:支持添加备注信息,长度不超过200字。

2.2. 在试验分组中选择调试设备

搜索设备:支持按照设备名称和设备ID/登录ID进行模糊搜索;

选择设备:支持多选和全选,在一个试验中,同一台设备只能添加到一个分组中。

快速新建调试设备:支持输入设备名称和设备ID/登录ID 进行快速创建调试设备。

3. 如何获取调试设备的设备ID/登录ID?

神策A/B Testing 使用设备的distinct_id作为设备标识,录入白名单前,首先需要获取设备的distinct_id,可以通过以下三种方式进行获取:

3.1. 通过日志方式获取 distinct_id

3.1.1. Android端

初始化 SDK 时,进行以下配置,即可打开 SDK 的日志输出功能:

// 打开 SDK 的日志输出功能
saConfigOptions.enableLog(true); 

触发任意事件复制 distinct_id。

3.1.2.  iOS 端

初始化 SDK 时,进行以下配置,即可打开 SDK 的日志输出功能:

// 打开 SDK log 功能
options.enableLog = YES;

触发任意事件复制 distinct_id

3.1.3. web 端

SDK 初始化时,将 show_log 设置为 true 即可打开日志输出功能。页面上有事件触发时,浏览器开发者工具会打印采集的事件信息。

3.1.4. 微信小程序

集成神策分析微信小程序 SDK 后,在开发者工具控制台中查看任意一条数据,可以获取当前用户的 distinct_id(设备ID)。在开发版及体验版中,通过手机打开控制台也可以通过类似方式获取到 distinct_id。

3.2.  通过动态调试模式获取 distinct_id

此方法只适用于 iOS 和 Android 端设备。

3.2.1. Scheme 回调处理

在 AppDelegate 的 - application:openURL:options:方法中调用 - handleSchemeUrl: 对神策分析 Scheme 进行处理:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    if ([[SensorsAnalyticsSDK sharedInstance] handleSchemeUrl:url]) {
        return YES;
    }
    return NO;
}

3.2.2.  扫码获取 distinct_id

在右上角找到【数据中心】→ 【数据接入】→ 【Debug 实时数据查询】→ 【设备调试模式】,然后进行扫码获取 distinct_id

3.3. 通过扫码录入调试设备

Android和iOS设备直接通过扫描二维码来进行调试设备的创建。(具体步骤按照页面提示操作)