コンテンツにスキップ

イベントログの送信

概要

アナリティクスにイベントログを送信できます。送信するイベントを設定するときは、イベントテンプレートが提供するイベント構造と、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 パイプライン自動処理属性(dataSourcegeoIpCountry
eventAttributes カスタム属性(levelexpcharacter_namestage_id)+ SDK v4の自動収集属性(viduidmodelosなど)

Hive SDK v4 注意事項 & Tips

  • SDK v4のイベントログ送信機能を使用すると、viduiddidmodelosmarketserver_idなどの基本収集属性が自動的に送信されます。詳細は、イベント属性の送信 > Hive SDK v4自動収集属性を参照してください。
  • 基本収集属性と同じ属性名を直接追加して転送すると、SDK v4が自動収集した値が直接設定した値で上書きされることがありますのでご注意ください。

Hive Axyl を介したイベントログの送信

Note

Hive Axylイベントログ転送ガイドは、2026年9月30日に公開される予定です。


サーバー転送

Fluentd、HTTP 経由でゲームサーバーからイベントログを送信する方法です。


Fluentdを介したイベントログの送信

ゲームサーバーからFluentdを介して直接イベントを送信する方法。

  • 必須属性 を含むすべての属性を直接設定して転送する必要があります。

Fluentdサーバー情報

アナリティクス Fluentd サーバーのアドレスは次のとおりです。次の表を参照してイベントログを送信する必要があります。

区分 場所 リージョン ドメイン
商業 アジア 韓国(ソウル) analytics-hivelog-03.withhive.com
analytics-hivelog-04.withhive.com
analytics-hivelog-05.withhive.com
analytics-hivelog-06.withhive.com
商業 アジア シンガポール analytics-hivelog-as-sg-01.withhive.com
analytics-hivelog-as-sg-02.withhive.com
商業 北アメリカ アメリカ(東部) analytics-hivelog-us-east-01.withhive.com
analytics-hivelog-us-east-02.withhive.com
商業 北アメリカ アメリカ(西部) analytics-hivelog-us-west-01.withhive.com
analytics-hivelog-us-west-02.withhive.com
商業 ヨーロッパ フランクフルト analytics-hivelog-eu-ff-01.withhive.com
analytics-hivelog-eu-ff-02.withhive.com
サンドボックス アジア 韓国(ソウル) sandbox-analytics-hivelog.withhive.com

Fluentd 転送方法

ゲームサーバーは、JSON 形式のイベントログを構成し、Fluentd 経由で送信します。

fluentd tag ルール:

event.{gameName}.{eventName}

送信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 パイプライン自動処理属性(dataSourcegeoIpCountry
eventAttributes カスタム属性(levelcharacter_namestage_id
Note

サーバー転送 (Fluentd) には SDK 自動収集属性が含まれないため、eventAttributes にはユーザーが直接送信した属性のみが保存されます。


Fluentd使用ガイド

Fluentd を使用してさまざまな方法でイベントログを送信できます。下のリンクをクリックして詳細を確認してください。


Fluentd 注意事項 & Tips

  • サーバー転送(Fluentd)にはSDK自動収集属性が含まれていないため、必要な属性はすべて直接構成して送信する必要があります。
  • すべての必須属性(userIdidentifierProviderdeviceIdappIdappIdGroupeventTimeeventName)を必ず含めてください。

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リクエスト:

POST https://analytics-log.withhive.com/v1/server-recv
Content-Type: application/json; charset=utf8

リクエスト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 パイプライン自動処理属性(dataSourcegeoIpCountry
eventAttributes カスタム属性(levelcharacter_name
Note

サーバー転送 (HTTP) には SDK 自動収集属性が含まれないため、eventAttributes にはユーザーが直接送信した属性のみが保存されます。


HTTP 注意事項 & Tips

  • すべての必須属性(userIdidentifierProviderdeviceIdappIdappIdGroupeventTimeeventName)を必ず含めてください。
  • Content-Typeapplication/json に設定する必要があります。
  • 属性値として JSON オブジェクト ({}) または配列 ([]) を使用すると、rescue テーブルとして分離されます。
  • サーバー転送(HTTP)にはSDK自動収集属性が含まれていないため、必要な属性はすべて直接構成して送信する必要があります。

関連メニュー