イベントログの送信¶
概要¶
アナリティクスにイベントログを送信できます。送信するイベントを設定するときは、イベントテンプレートが提供するイベント構造と、Hive SDK 自動収集するかどうかを確認してください。
さらに分析が必要なイベントログは、クライアントまたはサーバーから送信できます。
クライアント転送¶
Hive SDK v4, Hive Axyl を介してクライアントからイベントログを送信する方法。
Hive SDK v4 を介したイベントログの送信¶
Hive SDK v4 のイベントログ送信機能を使用してクライアントからイベントを送信する方法です。
エンジン共通設定¶
SDK v4 使用のためのエンジン設定です。
Unity、Unreal Engineなどのエンジンによっては、SDKを使用する前に共通に必要な設定があります。 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サーバー情報¶
アナリティクス 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 テーブル分離の理由と照会方法