通过Android端 DevTools 工具,可以在应用上线前快速对采集的事件(埋点)内容进行检查,该工具提供了查看 SDK(增长营销套件SDK) 接入状态、实时查看事件、查看调试日志、查看网络请求、查看A/B实验分流等功能。
火山引擎的客户在使用DevTools组件时,DevTools组件将向火山引擎的客户申请以下权限(不是向客户的C端用户申请)。禁用权限后相关功能的使用将会受限。
该步骤同增长营销套件SDK的仓库引入,确保在project级别的build.gradle或settings.gradle配置中包含以下maven仓库:
maven { url 'https://artifact.bytedance.com/repository/Volcengine/' }
在app项目的build.gradle中添加DevTools组件的依赖:
// debug或测试包中依赖DevTools组件 debugImplementation 'com.bytedance.applog:RangersAppLog-DevTools:3.4.8' // release下依赖DevTools-No-Op组件 releaseImplementation 'com.bytedance.applog:RangersAppLog-DevTools-No-Op:3.4.8'
说明:DevTools组件包含有独立的视图资源文件,建议仅在开发环境引入该组件(即使用debugImplementation
)。RangersAppLog-DevTools-No-Op
组件为空实现组件,保留了公开的API,可在Release下依赖,与RangersAppLog-DevTools
组件不能共存。
如果需要在Release包中使用DevTools(请关注权限和隐私合规),请修改依赖的配置如下:
implementation 'com.bytedance.applog:RangersAppLog-DevTools:3.4.8'
完成接入操作后,启动应用即可使用下述功能。
打开应用后会看到一个悬浮的按钮,按钮下方是本次启动后产生的事件总数和上报完成百分比(已上报到服务端的事件数/累计采集的事件数),点击该按钮后会打开DevTools面板。
悬浮按钮默认在App启动后常驻吸边显示,可拖动调整位置。如果需要隐藏悬浮按钮,可以通过以下任意方式关闭:
// 隐藏悬浮按钮 AppLogDevTools.setFloatingButtonVisible(false); // 如果需要手动显示悬浮按钮,设置参数为true即可 AppLogDevTools.setFloatingButtonVisible(true);
DevTools v3.1.0+版本新接口
注意:在Application的初始化中调用该接口不会生效。
setFloatingButtonVisible
接口或在设置页面修改悬浮入口显示状态后该配置会自动失效。AppLogDevTools.setFloatingButtonVisibleDefault(false); // 关闭首次接入默认显示悬浮按钮
DevTools v3.4.2+版本新接口
DevTools v3.4.2+版本新接口
在关闭了悬浮按钮后,如果需要打开DevTools面板,可以在任意位置通过调用以下方法显示:
// 显示DevTools可视化面板 AppLogDevTools.showPanel(); // 手动关闭可视化面板 AppLogDevTools.closePanel();
DevTools v3.1.0+版本新接口
默认关闭了悬浮按钮上下的事件列表,悬浮事件列表会显示最新采集的5-50个事件名称,可以通过以下任意方式显示出悬浮的事件列表(只有悬浮入口显示的条件下才生效):
方法一:调用接口显示出悬浮事件列表:
// 显示悬浮事件列表 AppLogDevTools.setFloatingButtonEventVisible(true); // 手动关闭悬浮事件列表 AppLogDevTools.setFloatingButtonEventVisible(false);
DevTools v3.1.0+版本新接口
方法二:在DevTools设置页面(控制台面板点击“DevTools设置”进入)打开悬浮显示最新事件开关,也可以调整悬浮事件显示数量:
DevTools面板页面分标题区、内容区两个部分:
首次使用DevTools面板默认显示的是接入栏。接入栏中显示了DevTools对增长营销套件SDK的核心信息的检查结果。首次接入增长营销套件SDK时可以通过该栏信息判断是否接入成功。
AppLog.init
之后的状态;在DevTools面板中的功能栏点击“事件”即可切换到事件栏。通过实时查看事件信息可以检查事件参数等是否正确。事件栏功能包含:
在DevTools面板中的导航栏点击“控制台”即可切换到控制台。控制台是DevTools的功能集合面板,提供了丰富的调试功能。功能涵盖增长营销分析SDK的API调用、采集的事件分类统计、A/B测试实验查询和修改等。在控制台中,具体可以完成以下调试工作:
在控制台面板点击SDK配置即可进入配置详情页。SDK配置页中显示了增长营销套件SDK接入后的各种参数配置,以及服务端下发的配置信息:
在控制台面板中点击“调试日志”即可进入调试日志页面。通过查看错误日志等可以快速排查接入等问题。日志栏功能包含:
在控制台面板中点击“网络抓包”即可进入网络抓包页面。通过网络请求的状态和请求体可以查看埋点上报是否成功。网络栏功能包含:
RangersAppLog:6.15.3+支持显示响应头
在控制台面板中点击“实验分流”即可进入实验分流页面。该功能依赖于A/B测试产品的实验数据,通过配置Open API密钥(4.2章节)方可使用。
实验分流页面显示了所有A/B测试实验列表(包含进行中、调试中、已结束等状态),同时显示当前设备是否命中实验的状态。搜索区支持按实验名称和实验命中状态搜索实验,同时会记录最近浏览的10个实验名称,点击历史记录可以快速打开实验详情。列表的信息包含:
点击单个实验会进入实验详情,实验详情页会显示实验名称、实验类型、实验描述、实验状态和实验的开始结束时间。实验配置卡片显示了实验下的所有变体信息,单个变体信息包含变体名称和配置的JSON内容。在实验配置卡片右侧可以打开实验进组编辑开关,打开进组编辑(mock)开关后即可选择进组的变体。点击“提交更改”按钮后,再重新启动APP即可完成实验进组修改操作。
在控制台面板中点击“事件统计”即可进入事件统计页面,点击“大体积事件”即可进入大体积事件统计页面。事件统计是按事件名称为维度做的聚合统计,包括采集的总次数和总大小(内容字节总数),支持按名称搜索指定事件。大体积事件页面,显示的是单次采集的事件内容大于指定值(可以修改)的次数和总大小。根据事件统计,可以发现并治理异常的事件。
DevTools组件本身会在部分场景下进行行为分析埋点,用于优化基础功能。关闭内置埋点的方法:
// 关闭DevTools内置埋点采集 AppLogDevTools.setTrackEnabled(false);
DevTools v3.1.0+版本新接口
事件栏中除了基本的事件信息校验,还支持数据管理中的事件元数据信息导入和校验。开启该功能需要提前设置Open API的密钥(AccessKey和SecretKey,获取方式参考https://www.volcengine.com/docs/6285/111905)。获取到AK&SK之后,在Application初始化中对指定的App ID配置以下内容即可:
AppLogDevTools.setOpenApiAuthKey("{appId}", "{accessKey}", "{secretKey}");
如果是私有化环境,需要额外设置私有化的域名信息(使用火山引擎环境请忽略该步骤):
AppLogDevTools.setCustomDomain("{私有化环境的后台管理首页域名}");
一般建议用户通过debugImplementation
的方式接入DevTools,在Debug包中进行调试。如果需要在Release包中使用DevTools做调试,请使用implementation
接入(见2.3章节),同时需要在Application初始化中设置以下开关或在DevTools设置页面打开DevTools数据同步开关:
// 设置DevTools开关,默认在接入DevTools后即开启 // 如果设置为false,则debug和release下均无法使用DevTools // 如果设置为true,则debug和release下接入了DevTools后可正常使用DevTools AppLog.setDevToolsEnable(true);
RangersAppLog:6.14.2+版本支持