发送测试日志¶
概述¶
可以发送测试日志,确认数据是否按预期采集。沙盒环境和正式环境中均可进行测试,无论在哪个环境中,都按以下步骤进行测试。
| 步骤 | 说明 | 菜单 |
|---|---|---|
| 1. 发送测试日志 | 在要测试的环境中发送测试日志。 | 数据 > 事件 > [源创建] 选项卡或 [ETL 模拟] 选项卡 |
| 2. 确认接收 | 确认发送的数据是否已采集。 | 数据 > 事件 > [数据预览] 选项卡或 BigQuery |
| 3. 确认指标构成 | 确认能否使用采集的数据构建所需的指标。 | Create(图表、漏斗、留存、排名等) |
测试环境¶
| 环境 | 发送目标 | 存储数据集 | 是否反映到指标 |
|---|---|---|---|
| 沙盒 | 沙盒接收地址 | analytics_N_sandbox | 不包含在正式环境指标中 |
| 正式环境 | 正式环境接收地址 | analytics_N_live | 包含在正式环境指标中 |
在正式环境中测试时¶
发送到正式环境的测试日志会包含在实际指标中。为避免影响实际指标,请在测试前做好以下准备。
-
获取测试专用 appId。
在 Hive 控制台 > 应用中心 中注册测试用应用,获取测试专用 appId。详细内容请参考 App ID 管理。
-
通过以下菜单之一将测试数据从指标中排除。
菜单 排除方法 指标排除用户管理 将用于测试的用户注册为指标排除用户 指标筛选器管理 将测试 appId 或 QA 服务器注册为排除条件 时间设置 将正式上线日设置为指标开始日,排除上线前的测试数据
1. 发送测试日志¶
在要测试的环境中发送测试日志。开发者可以应用源代码发送实际事件,非开发者可以通过 ETL 模拟发送示例数据。
| 方法 | 对象 | 说明 |
|---|---|---|
| 源创建 | 开发者 | 将生成的源代码应用到应用客户端或服务器后,触发测试事件发送日志。 |
| ETL 模拟 | 非开发者 | 无需编写代码,在控制台中输入字段值即可发送示例数据。 |
通过源创建发送(开发者)¶
- 在 数据 > 事件 中选择要测试的事件,然后进入 [源创建] 选项卡。
- 在 客户端开发者 或 服务器开发者 选项卡中确认源代码,并将其应用到应用客户端或服务器。
- 在要测试的环境中触发测试事件,发送日志。
Note
如果通过 Fluentd 或 HTTP 从服务器发送,必须发送到要测试的环境的接收地址。正式环境和沙盒接收地址可在 事件日志传输 中确认。
通过 ETL 模拟发送(非开发者)¶
- 在要测试的环境的 Analytics 控制台中,进入 数据 > 事件 并选择要测试的事件。
- 在 [ETL 模拟] 选项卡中,在事件采集表的各字段中输入要测试的值。
- 点击 发送 按钮。
[源创建] 选项卡和 [ETL 模拟] 选项卡的详细内容,请参考 事件。
2. 确认接收¶
通过以下两种方式之一确认发送的测试日志是否已采集。
在数据预览中确认¶
在 数据 > 事件 中选择已测试的事件,然后在 [数据预览] 选项卡中将查询期间设置为发送测试日志的日期并进行查询。
- 确认测试日志是否显示在列表中。
- 确认发送的属性值是否按预期采集。
在 BigQuery 中直接确认¶
如果在 Analytics 控制台中申请 BigQuery 访问权限,即可在 BigQuery 中直接查询存储的数据。事件日志存储在 t_raw_event_log 表中。
SELECT userId, deviceId, appIdGroup, appId,
DATETIME(TIMESTAMP_ADD(dateTime, INTERVAL 32400 SECOND)) AS dateTime_kst, -- 将以 UTC 存储的 dateTime 转换为 KST
SAFE_CAST(
JSON_VALUE(attributes, '$.eventAttributes.level') AS INT64
) AS level -- 将 level 作为事件属性发送时
FROM `habq-storage.analytics_N_sandbox.t_raw_event_log` -- 在正式环境中测试时为 analytics_N_live
WHERE identifierProvider = 'hive' -- 用户标识符发放体系(始终为 hive)
AND eventName = '{测试的事件名称}'
AND appId = 'com.sample.test.aos' -- 测试时使用的 appId
AND JSON_VALUE(attributes, '$.hiveAttributes._dataSource') IN ('custom_server', 'custom_sdk') -- 仅直接发送的事件(服务器、SDK)
-- 按 KST 查询时
AND dateTime >= TIMESTAMP_SUB(TIMESTAMP('2026-09-30 00:00:00'), INTERVAL 32400 SECOND)
AND dateTime < TIMESTAMP_SUB(TIMESTAMP('2026-10-07 00:00:00'), INTERVAL 32400 SECOND)
-- 基于 checksum 去除重复时
QUALIFY ROW_NUMBER() OVER (PARTITION BY checksum ORDER BY bigqueryRegistTimestamp DESC) = 1
LIMIT 100
t_raw_event_log是基于dateTime按日分区的表,因此查询时请指定日期条件。- 违反传输规则的日志不会存储在
t_raw_event_log中,而是存储在隔离表(t_raw_event_log_rescue)中。如果看不到数据,请确认隔离表的errorReason。
表结构和隔离原因,请参考 事件存储结构。
3. 确认指标构成¶
确认数据接收后,在 Create 菜单中创建图表、漏斗、留存、排名等,确认能否使用采集的数据构建所需的指标。
- 确认要用作测量值和维度值的属性是否显示在选择列表中。
- 确认汇总结果是否与发送的测试数据一致。
注意事项 & Tips¶
不支持沙盒的事件
退款和 MMP(Airbridge 等)数据并非由 Hive 直接处理,而是由市场(Google Play 等)或 MMP 等第三方发送给 Hive。
第三方不提供沙盒环境,只从正式环境向 Hive 发送数据,因此 Hive 无法区分通过第三方采集的数据是正式环境数据还是沙盒数据。因此,在沙盒中处理的数据可能会显示为包含在正式环境数据中。
- 发送到正式环境的测试日志会包含在实际指标中。在正式环境中测试时,请参考 在正式环境中测试时,将测试数据从指标中排除。
- 在
appId字段中,必须输入在 Hive 控制台 > 应用中心 中注册的 appId。如果输入不正确的值,数据可能无法采集。