You need to enable JavaScript to run this app.
导航

通用埋点验证操作指引

最近更新时间2024.03.22 17:57:38

首次发布时间2024.03.22 17:57:38

1.集成验证

1.1 Web JS SDK

1.1.1 检查项验证

检查项

检查注意事项

参考文档

SDK是否引入

检查SDK集成代码,代码需要先引入SDK的JS文件再初始化SDK。

Web/JS SDK 集成

APPID是否正确

检查初始化代码中的APPID是否是需要上报应用的APPID

检查上报地址是否正确

  • SaaS-字节云
    • 国内:看channel是否为cn
    • 海外:看channel是否为sg
  • SaaS-云原生:看channel_domain是否为https://gator.volces.com
  • 私有部署:看channel_domain参数是否添加,如果有添加,确定channel_domain配置的是否为数据上报地址,配置的数据上传地址本机是否可以ping通。

1.1.2 集成验证

  1. 打开Web页面后,在浏览器控制台可以看到“sdk is ready ”证明sdk初始化成功。

  2. 选择网络,如果成功完成了代码埋点,那么每在web界面点击一次就会上报一次list接口,您可以检查:

    • 查看list接口的http code是否为200,以及接口返回值是否为e:0。
    • 在载荷中看自定义的事件及属性上报。
      如果接口http code为200,返回值e:0,并且可以看到自定义的事件及自定义属性证明事件上报成功。

    如果返回值e:返回值非0时,可对照此表再做下排查。

    返回字段

    类型

    返回值说明

    e

    int

    状态码:

    • 0:正常
    • -1:请求参数校验错误(缺少user、header或event)
    • -2:event格式错误
    • -3:请求参数解析错误(无解析json)
    • -4:不支持的请求类型
    • -5:请求数组过长(只针对list接口,限制50)
    • -6:请求中event数过多(限制50)
    • -7:获取APPID错误
    • -8:解析user错误(多为内部错误)
    • -9:解析header错误(多维内部错误)
    • -10:解析event错误(多为内部错误)
    • -11:数据向下游发送错误(内部错误)
    • -12:event数组为空
    • -100:未知错误

    m

    string

    错误信息,只在请求verbose非0时出现

    tc

    int

    请求中总event数

    sc

    int

    被成功解析并收集的event数

1.2 Android SDK

1.2.1 检查项验证

检查项

检查注意事项

参考文档

SDK是否引入

  • 可以通过远程引入(推进)和离线引入两种方式引入,如果是远程引入的方式,您需要检查下app级别的gradle文件是否在dependencies里引入SDK
  • 检查project级别gradle中allprojects的repositories中是否添加maven仓库
  • 检查是否集成初始化代码

Android SDK 集成

APPID、渠道地址是否正确

  • 检查初始化代码中的APPID是否是需要上报应用的APPID
  • 检查appid后面的渠道地址channel字段是否有值,这个字段必填,比如oppo、vivo、huawei等渠道

数据上报地址是否正确

确认数据上报地址是否配置正确

  • saas:使用默认值即可
  • 私有部署:确定配置的是否为数据上报地址,注意上报地址的配置格式要求,域名后不要加“/”,并且需要确认配置的数据上传地址本机是否可以ping通。

(可选)
使用全埋点等功能额外所需检查

  • 如果使用全埋点功能,确定project级别gradle中buildscript的repositories中是否添加maven仓库,以及dependencies是否增加plugin
  • 如果使用实时埋点监测或者圈选功能,需要做以下验证
  • 验证pluign,sdk,scheme的版本号是否一致

以上检查验证完之后就可以调用相关api,比如用户、事件等api上报。

1.2.2 集成验证

1.2.2.1 开发工具验证(Android stuido)

  1. 看到图片标注的两个证明sdk初始化成功(前提需要在初始化打开日志开关才可以看见)

  2. 当上报事件的时候,查看事件是否上报成功,需要使用抓包或者埋点验证功能,参考1.2.2.2 或者1.2.2.3。

1.2.2.2 DevTools验证事件上报

功能说明:埋点开发者工具
按照文档接入DevTools后,打开DevTools面板查看接入状态、参数配置、事件上报和日志请求等
判断本地上报是否正常的参考:

  • 信息栏中状态为已启动,且有SSID、BD_DID等信息
  • 事件列表中的事件存在已上报状态
  • 网络列表中/service/2/app_log/接口状态为200(绿色)

1.2.2.3 埋点验证功能验证

功能说明:实时埋点检测
需要按照实时埋点的相关要求集成,当集成成功后在数据管理-一般事件,点击验证埋点,选择移动端

扫码之后会实时看到上报的行为数据,左侧为实时的行为,右侧为对应行为的属性信息

1.2.2.4 抓包验证

配置好抓包工具,选择数据上报地址对应的接口查看app_logevent_v3的接口
saas地址:http://toblog.volceapplog.com,私有部署需要选择对应的数据上报地址

1.3 iOS SDK

1.3.1 检查项验证

检查项

检查注意事项

参考文档

SDK是否引入

  • 可以通过远程引入(推荐)和离线引入两种方式,如果需要手动引入,请先下载SDK,之后参考文档手集成:1.5 手动引入须知
  • 检查是否添加source源
  • 检查是否集成初始化代码

iOS SDK集成

APPID、渠道地址是否正确

  • 检查初始化代码中的APPID是否是需要上报应用的APPID
  • 检查是否配置channel渠道,iOS一般默认App Store渠道

数据上报地址是否正确

确认数据上报地址是否配置正确

  • saas:使用默认值即可
  • 私有部署:确定配置的是否为数据上报地址,注意上报地址的配置格式要求,域名后不要加“/”,并且需要确认配置的数据上传地址本机是否可以ping通。

(可选)
使用全埋点等功能额外所需检查

如果使用实时埋点监测或者圈选功能,需要做以下验证:

  • 检查APPID是否正确,包括handleurl里的appid和初始化的appid
  • 检查url_scheme包名称是否配置正确,详情请参考3. 配置Scheme(可选)

以上检查验证完之后就可以调用相关api,比如用户、事件等api上报

1.3.2 集成验证

1.3.2.1 开发者工具验证

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

  2. 上报用户数据或者事件数据后可以在ouput中看到对应的事件,证明事件及属性发送成功

1.3.2.2 DevTools验证事件上报

功能说明:埋点开发者工具
在Debug环境下接入DevTools,可以实时本地查看埋点上报状态、调试日志、配置参数等信息。

图片

图片

图片

判断本地上报是否正常的参考:

  • 信息栏中状态为Running,且有SSID、BD_DID等信息
  • 事件列表中的事件存在已上报状态

1.3.2.3 埋点验证功能验证

功能说明:实时埋点检测
需要按照实时埋点的相关要求集成,当集成成功后在数据管理-一般事件,点击验证埋点,选择移动端

扫码之后会实时看到上报的行为数据,左侧为实时的行为,右侧为对应行为的属性信息

1.3.2.3 抓包验证

配置好抓包工具,选择数据上报地址对应的接口查看app_logevent_v3的接口
saas地址:http://toblog.volceapplog.com,私有部署需要选择对应的数据上报地址

1.4 小程序 SDK(微信小程序为例)

1.4.1 检查项验证

检查项

检查注意事项

参考文档

SDK是否引入

  • 确认是否按照SDK。
    可以在小程序package.json中看dependencies里面有没有sdk-mp文件,如果有证明sdk引入成功。
  • 是否将数据上报地址添加到小程序后台的“request合法域名”中
    • saas-字节云:https://mcs.ctobsnssdk.com
    • saas-云原生:https://gator.volces.com
    • 私有化:需要将私有化部署的数据上报域名添加到合法域名中
  • 检查app.js文件中是否引入初始化代码

微信小程序

APPID是否正确

检查初始化代码中的APPID是否是需要上报应用的APPID

数据上报地址是否正确

确认数据上报地址是否配置正确

  • saas-字节云:系统已为您预置好了数据上报域名,您无需手动配置
  • saas-云原生:数据上报地址channel_domain需要配置为https://gator.volces.com
  • 私有部署:数据上报地址channel_domain需要配置为私有化部署的数据上报地址,注意上报地址的配置格式要求,域名后不要加“/”,并且需要确认配置的数据上传地址本机是否可以ping通。

以上检查验证完之后就可以调用相关api,比如用户、事件等api上报

1.4.2 集成验证

1.4.2.1 开发工具验证

  1. 集成完成编译在调试器Console中看到以下信息证明sdk初始化成功

  2. 在调试器network中验证是否有list接口上报,并且状态码为200

  3. 当点击代码埋点的按钮会触发相应的埋点事件,可以在network中找list?tea接口查看事件的具体信息,如果状态码是200证明事件上报成功

1.4.2.2 真机验证可以通过实时埋点监测或者抓包

功能说明:实时埋点检测
需要按照实时埋点的相关要求集成,当集成成功后在数据管理-一般事件,点击验证埋点,选择微信小程序,按照指示上传小程序码

扫码之后会实时看到上报的行为数据,左侧为实时的行为,右侧为对应行为的属性信息

1.4.2.3 DevTools验证事件上报

功能说明:埋点开发者工具
通过小程序SDK埋点开发工具(DevTools组件),可以在开发阶段便捷的对埋点内容和格式进行检查,该工具提供了环境信息查看、初始化信息状态查看、事件日志查看等功能。

图片

图片

图片

判断本地上报是否正常的参考:

  • init、send等api的调用情况,上报域名以及初始化状态;
  • 事件列表中的事件存在已上报状态;

1.5 服务端SDK(java语言)

检查项

检查注意事项

参考文档

SDK集成代码配置检查

  • 检查SDK集成代码中:
    • 集成模式配置是否正确。Java SDK的集成方式包括HTTP模式、FILE模式(仅私有化)、KAFKA模式(仅私有化)。您需要检查模式配置参数datarangers.sdk.mode的配置结果是否正确。
    • 检查APPID是否配置正确。
    • 检查上报地址是否配置正确。
  • 通过查看启动日志通过监测启动日志来确定配置是否符合预期。主要关注下sdkModedomainheaders等配置。

Java SDK

集成结果检查

1.6 Http API

1.6.1 验证基本配置项

验证Header中Appkey的配置是否正确,不要写成appid

需要配置为以下结果:
图片

1.6.2 检查响应报文

  • 如果响应报文中e的值 不为0,说明没有上报成功
  • 如果返回成功(e=0),但在系统依然没看到数据,请检查local_time_ms事件时间戳:
    • 是否设置的是当天时间,如果是当天时间,数据可以实时在系统看到;
    • 如果非当天时间,且在窗口期之内(过去7天以内以及未来24小时内),数据需要第二天才能看到,因为非当天数据需要跑批,所以建议测试的时候使用当天时间戳进行测试;
    • 如果时间在窗口期之外(7天前以及超过未来24小时),数据是不会落库的;
    • 如果时间在窗口期之外(7天前以及超过未来24小时),并且想上报历史数据或者说窗口期外的数据,需要增加is_history标识,local_time_ms为当天的可实时看到,非当天的第二天看到

1.6.3 常见问题

Q1:接口返回500或者404或者不能连接成功

接口的问题,需要检查接口是不是通
Q2:报错:get appid error

appkey不对,需要填写正确的appkey
Q3:报错:parse web/mp data error

此报错为body体的参数写的有问题,检查body体即可,正常参考

[{
    "user": {
        "user_unique_id": "useid1"
    },
    "header": {
        "app_name": "test031701",
        "ab_sdk_version": "24",
        "app_version":"1.0.1.2",
        "custom": {
              "public_prop222": "22222" 
        }
    },
    "events": [
        {
            "ab_sdk_version": "24",
            "event": "track11",
            "params": "{\"pay_real\":\"2990\", \"pro_type\":\"4\"}",
            "local_time_ms": 1656582814712
        }
    ]
}]

Q4:匿名用户如何上报,如何做到数据打通?
前提需要集成客户端sdk,提前拿到设备id,具体参考文档HTTP API数据上报方案
Q5:对于匿名用户场景,不集成客户端SDK是否可以上报
不能,对于匿名用户需要上报deviceID或者bddid,这两个id是需要集成客户端生成的,然后透传给服务端
Q6:私有部署历史数据服务端数据上传的时候,数据实时的吗?还是事件是实时的,用户属性是非实时的
数据是否实时取决于local_time_ms是什么时候的事件戳
Q7:通过服务端HTTP API提交数据的时候对多线程有没有限制?对于历史数据比较多的情况,每次post 20条效率太低
api是可以导入历史数据,每次最多20条的限制目前是没有办法修改,一天数据量三四十万,性能测试显示单实例上报并发数两百内上报都是OK的

2.系统数据验证

注意

完成数据接入后,需要等待10~15分钟再进行系统数据相关的验证。

  1. 在数据管理-一般事件/事件属性/用户属性中验证,上报的自定义事件和自定义属性在事件列表、事件属性和用户属性列表是否存在。

  2. 用户-用户细查,按照ssid或者uuid查询看用户的具体行为,看下用户是否存在,行为事件是否有

  3. 也可以在高级分析-事件分析验证,但是需要注意如果是当天传的数据,查询数据的时候日期需要选择今天

  4. 当用户细查或者事件分析可以看到上报的数据,那么sdk集成与事件上报就都成功了。

  5. 如果用户未上报成功,需要看下是否调用设置用户(user_unique_id)的api,不设置user_unique_id那么用户就都是匿名的。

  6. 如果浏览器开发者网络中list显示成功,但是系统未找到某些事件或者事件属性,可以在数据管理-数据质量查看有没有上报失败的事件和属性。
    数据质量功能介绍:数据治理看板

3.特殊场景验证

3.1 APP内嵌H5验证

说明:如果可以需要做app内嵌H5打通可做以下检查,如果不需要可忽略

3.1.1 检查项验证

  • H5页面是否集成JS sdk
  • H5页面集成JS sdk后,初始化的Nataive参数是否为true(5.1.3版本之前Native:true,5.1.3版本之后为enable_native:true)
  • 移动端是否集成移动端的sdk(ios,android)
  • 移动端集成中是否参考各端集成代码做集成,需要做两点
    • 打开初始化中打开H5Bridge开关
    • 配置白名单,以android集成文档截图为例

3.1.2 数据验证

  • 当数据打通后,使用app上报行为事件数据,通过实时埋点监测或者抓包工具查看对应行为事件中platform字段的值是wap还是ios/android:

    • 如果是wap证明数据没有打通,需要做相应的检查。
    • 如果是ios/android证明数据打通成功。
  • 实时埋点监测和抓包参考上方各端验证说明

  • 实时埋点监测数据参考

    抓包工具数据参考:

    • 打通参考(platform为android):

    • 未打通platform为wap

  • 当实时埋点监测或者抓包显示行为事件的platform属性为ios/android,可以在系统-用户细查查看对应用户的行为,确定此用户行为事件中platform是否为ios/android,并且看下H5触发的事件埋点和移动端触发的事件埋点是否为同一个用户,如果这两个验证成功那么证明app内嵌H5数据打通成功