傳送測試日誌¶
大綱¶
可傳送測試日誌,確認資料是否依預期收集。沙盒環境與正式環境皆可進行測試,無論在哪個環境,都依照以下步驟進行測試。
| 步驟 | 說明 | 選單 |
|---|---|---|
| 1. 傳送測試日誌 | 在要測試的環境中傳送測試日誌。 | 資料 > 事件 > [來源建立] 分頁或 [ETL 模擬] 分頁 |
| 2. 確認接收 | 確認傳送的資料是否已收集。 | 資料 > 事件 > [資料預覽] 分頁或 BigQuery |
| 3. 確認指標建構 | 確認是否能以收集到的資料建構所需的指標。 | Create(圖表、漏斗、留存、排名等) |
測試環境¶
| 環境 | 傳送目標 | 儲存資料集 | 是否反映至指標 |
|---|---|---|---|
| 沙盒 | 沙盒接收位址 | analytics_N_sandbox | 不包含在正式環境指標中 |
| 正式環境 | 正式環境接收位址 | analytics_N_live | 包含在正式環境指標中 |
在正式環境中測試¶
傳送至正式環境的測試日誌會包含在實際指標中。為避免影響實際指標,請在測試前做好以下準備。
-
取得測試專用的 appId。
在 Hive 控制台 > 應用程式中心 註冊測試用 App,取得測試專用的 appId。詳細資訊請參閱管理 App ID。
-
使用以下其中一個選單,將測試資料從指標中排除。
選單 排除方式 指標排除使用者管理 將用於測試的使用者登錄為指標排除使用者 指標篩選器管理 將測試 appId 或 QA 伺服器登錄為排除條件 時間設定 將正式上市日設定為指標開始日,以排除上市前的測試資料
1. 傳送測試日誌¶
在要測試的環境中傳送測試日誌。開發人員可套用原始碼傳送實際事件,非開發人員可透過 ETL 模擬傳送範例資料。
| 方式 | 對象 | 說明 |
|---|---|---|
| 來源建立 | 開發人員 | 將產生的原始碼套用至 App 用戶端或伺服器後,觸發測試事件以傳送日誌。 |
| ETL 模擬 | 非開發人員 | 不需撰寫程式碼,在控制台中輸入欄位值即可傳送範例資料。 |
透過來源建立傳送(開發人員)¶
- 在 資料 > 事件 中選擇要測試的事件後,前往 [來源建立] 分頁。
- 在 客戶端開發人員 或 伺服器開發人員 分頁中確認原始碼,並套用至 App 用戶端或伺服器。
- 在要測試的環境中觸發測試事件以傳送日誌。
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 = '{tested event name}'
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進行每日分區的表格,查詢時請指定日期條件。- 違反傳輸規則的日誌會儲存在 rescue 表 (
t_raw_event_log_rescue) 中,而不是t_raw_event_log。若看不到資料,請確認 rescue 表的errorReason。
表格結構與隔離原因,請參閱事件儲存結構。
3. 確認指標建構¶
確認資料已接收後,請在 Create 選單中建立圖表、漏斗、留存、排名等,確認是否能以收集到的資料建構所需的指標。
- 確認要作為測量值與維度值使用的屬性是否出現在選擇清單中。
- 確認彙總結果是否與傳送的測試資料一致。
注意事項 & Tips¶
不支援沙盒的事件
退款與 MMP(Airbridge 等)資料並非由 Hive 直接處理,而是由市場(Google Play 等)或 MMP 等第三方傳送至 Hive。
第三方不提供沙盒環境,只會從正式環境將資料傳送至 Hive,因此 Hive 無法區分透過第三方收集的資料是正式環境還是沙盒的資料。因此,在沙盒中處理的資料可能會顯示為包含在正式環境資料中。
- 傳送至正式環境的測試日誌會包含在實際指標中。在正式環境中測試時,請參閱在正式環境中測試,將測試資料從指標中排除。
appId欄位必須輸入在 Hive 控制台 > 應用程式中心 註冊的 appId。若輸入錯誤的值,資料可能不會被收集。