傳送事件日誌¶
大綱¶
您可以將事件日誌傳送到 Analytics。配置發送的事件時,請檢查事件範本提供的事件結構以及是否自動收集Hive SDK。
需要進一步分析的事件日誌可以從客戶端或伺服器發送。
客戶端傳輸¶
Hive SDK v4, Hive 這是如何透過 Axyl 從客戶端傳送事件日誌。
透過 Hive SDK v4 傳送事件日誌¶
Hive SDK 如何使用v4的事件日誌傳輸功能從客戶端發送事件。
引擎通用設定¶
SDK v4 供使用的引擎設定。
根據引擎的不同,使用SDK之前需要進行一些常見的設置,例如Unity、Unreal、Engine等。 Hive不適用於Axyl。
Note
各引擎的詳細設定方法請參閱準備指南。
轉帳方式¶
傳送 Hive SDK v4 的事件日誌 Analytics 使用 API。
JSONObject logData = new JSONObject();
// 必填屬性(僅直接傳送eventName,其餘SDK自動收集)
logData.AddField("eventName", "asset_drop");
// 自訂屬性
logData.AddField("level", 10);
logData.AddField("exp", 1.5f);
logData.AddField("character_name", "AA");
logData.AddField("stage_id", "stage_101");
Analytics.sendAnalyticsLog(logData);
#include "HiveAnalytics.h"
TSharedPtr<FJsonObject> LogData = MakeShareable(new FJsonObject);
// 必填屬性(僅直接傳送eventName,其餘SDK自動收集)
LogData->SetStringField(TEXT("eventName"), TEXT("asset_drop"));
// 自訂屬性
LogData->SetNumberField(TEXT("level"), 10);
LogData->SetNumberField(TEXT("exp"), 1.5);
LogData->SetStringField(TEXT("character_name"), TEXT("AA"));
LogData->SetStringField(TEXT("stage_id"), TEXT("stage_101"));
FHiveAnalytics::SendAnalyticsLog(LogData);
picojson::object logData;
// 必填屬性(僅直接傳送eventName,其餘SDK自動收集)
logData["eventName"] = picojson::value("asset_drop");
// 自訂屬性
logData["level"] = picojson::value((double)10);
logData["exp"] = picojson::value(1.5);
logData["character_name"] = picojson::value("AA");
logData["stage_id"] = picojson::value("stage_101");
Analytics::sendAnalyticsLog(logData);
Map<String, Object> logData = new HashMap<String, Object>();
// 必填屬性(僅直接傳送eventName,其餘SDK自動收集)
logData.put("eventName", "asset_drop");
// 自訂屬性
logData.put("level", 10);
logData.put("exp", 1.5);
logData.put("character_name", "AA");
logData.put("stage_id", "stage_101");
Analytics.sendAnalyticsLog(logData);
NSMutableDictionary* logData = [[NSMutableDictionary alloc] init];
// 必填屬性(僅直接傳送eventName,其餘SDK自動收集)
[logData setObject:@"asset_drop" forKey:@"eventName"];
// 自訂屬性
[logData setObject:@10 forKey:@"level"];
[logData setObject:@1.5 forKey:@"exp"];
[logData setObject:@"AA" forKey:@"character_name"];
[logData setObject:@"stage_101" forKey:@"stage_id"];
[HIVEAnalytics sendAnalyticsLog:logData];
儲存結果¶
如果您發送上述範例,它將保存在 BigQuery 中,如下所示。
| 欄位名稱 | 價值 | 採集方式 |
|---|---|---|
userId | 100001 | SDK v4 自動收集 |
identifierProvider | hive | SDK v4 自動收集 |
deviceId | 100000 | SDK v4 自動收集 |
appId | com.com2us.game.ios | SDK v4 自動收集 |
appIdGroup | com.com2us.game | SDK v4 自動收集 |
dateTime | 2026-07-20T05:01:01Z | 將 eventTime 轉換為 UTC |
eventName | asset_drop | 直達 |
checksum | b44jskqjwe99921jqe5 | 自動產生 |
bigqueryRegistTimestamp | 2026-07-20T05:02:01Z | 自動產生 |
attributes | 見下文 | SDK v4 自動收款+直轉 |
attributes 範例
{
"hiveAttributes": {
"dataSource": "custom_sdk",
"geoIpCountry": "KR"
},
"eventAttributes": {
"eventTime": "2026-07-20T14:01:01+09:00",
"level": 10,
"exp": 1.5,
"character_name": "AA",
"stage_id": "stage_101",
"vid": 100001,
"uid": 1,
"vid_type": "v4",
"guid": "ecbfbd7fcdc340e1b8a433999c5290c1",
"server_id": "KR-1",
"model": "iPhone17,3",
"os": "I",
"os_version": "26.5.2"
}
}
| 地區 | 存檔內容 |
|---|---|
hiveAttributes | 管路自動處理屬性(dataSource、geoIpCountry) |
eventAttributes | 自訂屬性(level、exp、character_name、stage_id)+ SDK v4自動收集屬性(vid、uid、model、os等) |
Hive SDK v4 注意事項 & Tips¶
- 使用 SDK v4 事件日誌傳送功能時,
vid、uid、did、model、os、market、server_id等基本收集屬性會自動傳送。詳細清單請參閱傳送事件屬性 > Hive SDK v4 自動收集屬性。 - 請注意,如果您手動新增並傳輸與基本集合屬性相同的屬性名稱,則自動收集的SDK和v4的值可能會被您自己設定的值覆蓋。
透過 Hive Axyl 傳送事件日誌¶
Note
Hive Axyl 事件日誌傳輸指南將於2026年9月30日發布。
伺服器傳輸¶
這是透過Fluentd、HTTP從遊戲伺服器發送事件日誌的方法。
透過 Fluentd 發送事件日誌¶
此方法涉及透過 Fluentd 直接從遊戲伺服器發送事件。
- 您必須手動設定和傳輸所有屬性,包括必要屬性。
Fluentd 伺服器訊息¶
Analytics Fluentd 伺服器位址為: 事件日誌必須參考下表傳輸。
| 類別 | 地點 | 地區 | 域 |
|---|---|---|---|
| 商業 | 亞洲 | 韓國(首爾) | analytics-hivelog-03.withhive.comanalytics-hivelog-04.withhive.comanalytics-hivelog-05.withhive.comanalytics-hivelog-06.withhive.com |
| 商業 | 亞洲 | 新加坡 | analytics-hivelog-as-sg-01.withhive.comanalytics-hivelog-as-sg-02.withhive.com |
| 商業 | 北美 | 美國(東部) | analytics-hivelog-us-east-01.withhive.comanalytics-hivelog-us-east-02.withhive.com |
| 商業 | 北美 | 美國(西) | analytics-hivelog-us-west-01.withhive.comanalytics-hivelog-us-west-02.withhive.com |
| 商業 | 歐洲 | 法蘭克福 | analytics-hivelog-eu-ff-01.withhive.comanalytics-hivelog-eu-ff-02.withhive.com |
| 沙盒 | 亞洲 | 韓國(首爾) | sandbox-analytics-hivelog.withhive.com |
Fluentd 轉帳方式¶
在遊戲伺服器上,配置 JSON 形式的事件日誌並透過 Fluentd 發送。
fluentd tag 規則:
傳輸 JSON 範例:
{
"userId": "100001",
"identifierProvider": "hive",
"deviceId": "100000",
"appId": "com.com2us.game.ios",
"eventTime": "2026-07-20T14:01:01+09:00",
"eventName": "asset_drop",
"level": 10,
"character_name": "AA",
"stage_id": "stage_101"
}
Fluentd 儲存結果¶
如果您發送上述範例,它將保存在 BigQuery 中,如下所示。
| 欄位名稱 | 價值 | 採集方式 |
|---|---|---|
userId | 100001 | 直達 |
identifierProvider | hive | 直達 |
deviceId | 100000 | 直達 |
appId | com.com2us.game.ios | 直達 |
appIdGroup | com.com2us.game | 基於appId自動採集 |
dateTime | 2026-07-20T05:01:01Z | 將 eventTime 轉換為 UTC |
eventName | asset_drop | 直達 |
checksum | b44jskqjwe99921jqe5 | 自動產生 |
bigqueryRegistTimestamp | 2026-07-20T05:02:01Z | 自動產生 |
attributes | 見下文 | 直傳+自動收款 |
attributes 範例
{
"hiveAttributes": {
"dataSource": "custom_server",
"geoIpCountry": "KR"
},
"eventAttributes": {
"eventTime": "2026-07-20T14:01:01+09:00",
"level": 10,
"character_name": "AA",
"stage_id": "stage_101"
}
}
| 地區 | 存檔內容 |
|---|---|
hiveAttributes | 管路自動處理屬性(dataSource、geoIpCountry) |
eventAttributes | 自訂屬性(level、character_name、stage_id) |
Note
伺服器提交 (Fluentd) 不包含自動收集的屬性 SDK,因此只有使用者直接提交的屬性才會儲存在 eventAttributes 中。
Fluentd 使用者指南¶
可以使用 Fluentd 以多種方式傳送事件日誌。點擊下面的連結以了解更多資訊。
Fluentd 注意事項 & Tips¶
- 在伺服器傳輸(Fluentd)中,不包含自動收集的屬性SDK,因此您必須手動設定和傳輸所有必要的屬性。
- 必須包含所有必要屬性(
userId、identifierProvider、deviceId、appId、appIdGroup、eventTime、eventName)。
透過 HTTP 發送事件日誌¶
如何透過 HTTP API 直接從遊戲伺服器或客戶端發送事件。
- Fluentd 適合在無法安裝的環境中傳輸伺服器事件日誌。
- 以REST和API的形式直接傳送JSON資料。
- 您必須手動設定和傳輸所有屬性,包括必要屬性。
接收伺服器訊息¶
Analytics Web 伺服器位址是:
| 類別 | URL |
|---|---|
| 商業 | https://analytics-log.withhive.com/v1/server-recv |
| 沙盒 | https://sandbox-analytics-log.withhive.com/v1/server-recv |
Header 訊息:
| 項目 | 價值 | 備註 |
|---|---|---|
| Method | POST | |
| Content-Type | application/json; charset=utf8 | 必填 |
| Content-Encoding | gzip | 將壓縮的二進位檔案放入 body 時使用 |
HTTP 轉帳方式¶
向上述接收伺服器URL請求JSON資料POST。
HTTP 請求:
請求 Body (JSON):
{
"userId": "100001",
"identifierProvider": "hive",
"deviceId": "100000",
"appId": "com.com2us.game.ios",
"eventTime": "2026-07-20T14:01:01+09:00",
"eventName": "asset_drop",
"level": 10,
"character_name": "AA"
}
HTTP 傳輸範例¶
cURL:
curl -X POST https://analytics-log.withhive.com/v1/server-recv \
-H "Content-Type: application/json" \
-d '{
"userId": "100001",
"identifierProvider": "hive",
"deviceId": "100000",
"appId": "com.com2us.game.ios",
"eventTime": "2026-07-20T14:01:01+09:00",
"eventName": "asset_drop",
"level": 10,
"character_name": "AA"
}'
Python:
import requests
import json
url = "{Analytics 接收伺服器 URL}"
data = {
"userId": "100001",
"identifierProvider": "hive",
"deviceId": "100000",
"appId": "com.com2us.game.ios",
"eventTime": "2026-07-20T14:01:01+09:00",
"eventName": "asset_drop",
"level": 10,
"character_name": "AA",
}
response = requests.post(url, json=data)
print(response.status_code)
HTTP 儲存結果¶
如果您發送上述範例,它將保存在 BigQuery 中,如下所示。
| 欄位名稱 | 價值 | 採集方式 |
|---|---|---|
userId | 100001 | 直達 |
identifierProvider | hive | 直達 |
deviceId | 100000 | 直達 |
appId | com.com2us.game.ios | 直達 |
appIdGroup | com.com2us.game | 基於appId的自動對映 |
dateTime | 2026-07-20T05:01:01Z | 將 eventTime 轉換為 UTC |
eventName | asset_drop | 直達 |
checksum | b44jskqjwe99921jqe5 | 自動產生 |
bigqueryRegistTimestamp | 2026-07-20T05:02:01Z | 自動產生 |
attributes | 見下文 | 直接傳輸+自動加工 |
attributes 範例
{
"hiveAttributes": {
"dataSource": "custom_server",
"geoIpCountry": "KR"
},
"eventAttributes": {
"eventTime": "2026-07-20T14:01:01+09:00",
"level": 10,
"character_name": "AA"
}
}
| 地區 | 存檔內容 |
|---|---|
hiveAttributes | 管路自動處理屬性(dataSource、geoIpCountry) |
eventAttributes | 自訂屬性(level、character_name) |
Note
伺服器提交 (HTTP) 不包含自動收集的屬性 SDK,因此只有使用者直接提交的屬性才會儲存在 eventAttributes 中。
HTTP 注意事項 & Tips¶
- 必須包含所有必要屬性(
userId、identifierProvider、deviceId、appId、appIdGroup、eventTime、eventName)。 Content-Type必須設定為application/json。- 如果您使用 JSON 物件 (
{}) 或陣列 ([]) 作為屬性值,它將被隔離到 rescue 表中。 - 在伺服器傳輸(HTTP)中,不包含自動收集的屬性SDK,因此您必須手動設定和傳輸所有必要的屬性。
相關菜單¶
- 傳送事件屬性 — 必填/自動收集/自訂屬性的詳細規則
- 事件儲存結構>表格結構 — BigQuery儲存結構
- 事件儲存結構>資料隔離 — rescue 表格隔離原因及尋找方法