跳轉至

傳送測試日誌

大綱

可傳送測試日誌,確認資料是否依預期收集。沙盒環境與正式環境皆可進行測試,無論在哪個環境,都依照以下步驟進行測試。

步驟 說明 選單
1. 傳送測試日誌 在要測試的環境中傳送測試日誌。 資料 > 事件 > [來源建立] 分頁或 [ETL 模擬] 分頁
2. 確認接收 確認傳送的資料是否已收集。 資料 > 事件 > [資料預覽] 分頁或 BigQuery
3. 確認指標建構 確認是否能以收集到的資料建構所需的指標。 Create(圖表、漏斗、留存、排名等)

測試環境

環境 傳送目標 儲存資料集 是否反映至指標
沙盒 沙盒接收位址 analytics_N_sandbox 不包含在正式環境指標中
正式環境 正式環境接收位址 analytics_N_live 包含在正式環境指標中

在正式環境中測試

傳送至正式環境的測試日誌會包含在實際指標中。為避免影響實際指標,請在測試前做好以下準備。

  1. 取得測試專用的 appId。

    在 Hive 控制台 > 應用程式中心 註冊測試用 App,取得測試專用的 appId。詳細資訊請參閱管理 App ID。

  2. 使用以下其中一個選單,將測試資料從指標中排除。

    選單 排除方式
    指標排除使用者管理 將用於測試的使用者登錄為指標排除使用者
    指標篩選器管理 將測試 appId 或 QA 伺服器登錄為排除條件
    時間設定 將正式上市日設定為指標開始日,以排除上市前的測試資料

1. 傳送測試日誌

在要測試的環境中傳送測試日誌。開發人員可套用原始碼傳送實際事件,非開發人員可透過 ETL 模擬傳送範例資料。

方式 對象 說明
來源建立 開發人員 將產生的原始碼套用至 App 用戶端或伺服器後,觸發測試事件以傳送日誌。
ETL 模擬 非開發人員 不需撰寫程式碼,在控制台中輸入欄位值即可傳送範例資料。

透過來源建立傳送(開發人員)

  1. 在 資料 > 事件 中選擇要測試的事件後,前往 [來源建立] 分頁。
  2. 在 客戶端開發人員 或 伺服器開發人員 分頁中確認原始碼,並套用至 App 用戶端或伺服器。
  3. 在要測試的環境中觸發測試事件以傳送日誌。
Note

若從伺服器透過 Fluentd 或 HTTP 傳送,必須傳送至要測試之環境的接收位址。正式環境與沙盒的接收位址,可在傳送事件日誌中確認。

透過 ETL 模擬傳送(非開發人員)

  1. 在要測試之環境的 Analytics 控制台中,前往 資料 > 事件 並選擇要測試的事件。
  2. 在 [ETL 模擬] 分頁中,於事件收集表的各欄位輸入要測試的值。
  3. 點擊 傳送 按鈕。

[來源建立] 分頁與 [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。若輸入錯誤的值,資料可能不會被收集。

相關菜單