コンテンツにスキップ

SDK

Hive SDK クライアントタイプ

Hive SDKは、クライアントが要求する形式でログをログ収集サーバーに直接送信できるようにします。

decode:true">JSONObject logData = new JSONObject ();
// Sets pre-defined log
logData.AddField ("category", "hivesdk_levelup_log");
logData.AddField ("level", level);
Analytics.sendAnalyticsLog (logData);
decode:true">picojson::object logData;
// Sets pre-defined log
logData["category"] = picojson::value("hivesdk_levelup_log");
logData["level"] = picojson::value((double)level);
Analytics::sendAnalyticsLog(logData);
Map<String, Object> logData = new HashMap<String, Object>();
// Sets pre-defined log
logData.put("category", "hivesdk_levelup_log");
logData.put("level", level);
Analytics.sendAnalyticsLog(logData);
NSMutableDictionary* logData = [[NSMutableDictionary alloc] init];
// Sets pre-defined log
[logData setObject:@"hivesdk_levelup_log" forKey:@"category"];
[logData setObject:level forKey:@"level"];
[HIVEAnalytics sendAnalyticsLog:logData];</>

ゲームのエントリーセクションでのファネルログ送信

ゲームの実装からゲームロビーへのアクセスまで、Hive SDKは、ユーザーがゲームを離れるポイントを分析するために、セクションごとにログをAnalyticsに送信します。

Note

Hive SDK v4.11.0以降は、ログの送信を自動的にサポートします。この機能を実装するには、Hive Console > Analytics > Analysis > Funnel Analysisメニューでファunnelを作成します。Hive Consoleでファunnelを作成するには、Operation > Analytics > Funnel Analysisページを参照してください。

  • ファネルを収集するセクション ゲームアプリ内のセクションを離れるゲームユーザーの履歴を記録します。ファネルログは、アプリの単一の起動ごとに各ユーザーについて一度記録されます。Hive SDKの実装に基づいて、ゲーム > Hive SDKの実装ガイドにおいて、以下に指定されたセクションでユーザーが離れているかどうかを確認できます。
入場セクション 説明
400 アプリのインストール
401 Hive SDK 初期化の出発点
420 更新/通知
430 利用規約
500 ゲームサーバー手動選択
600 ゲームサーバーメンテナンスポップアップ
700 ゲームデータとリソースのダウンロード開始(ゲームのインストール/更新とは異なる)
800 ゲームデータとリソースのダウンロード終了
900 ログイン
1000 インタースティシャルバナー
  • ゲームデータとリソースダウンロードセクションのログを送信してください Hive SDK では、ゲームデータとリソースダウンロードの開始と終了を正確に確認することが難しいため、ゲーム側で開始と終了を指定し、ログを自分で送信する必要があります。ゲームデータとリソースダウンロードの開始と終了のログを送信するために、Hive SDK を使用してください。Hive SDK のサンプルコードは以下の通りです:
// ゲームリソースとデータのダウンロード開始時に700
Analytics.sendUserEntryFunnelsLogs("700", null);
// リソースとデータのダウンロード完了時に800
Analytics.sendUserEntryFunnelsLogs("800", null);

// Analytics.sendAnalyticsLog()を使用する場合
JSONObject logData = new JSONObject();
// ゲームリソースとデータダウンロードの開始時に700
logData.AddField("category", "hive_user_entry_log");
logData.AddField("sectionId", 700);
Analytics.sendAnalyticsLog(logData);;
// ゲームリソースとデータのダウンロード開始時の700
Analytics::sendUserEntryFunnelsLogs("700", nullptr);
// ゲームリソースとデータのダウンロード終了時の800
Analytics::sendUserEntryFunnelsLogs("800", nullptr);

// Analytics::sendAnalyticsLog()を使用する場合
picojson::object logData;
// ゲームリソースとデータダウンロードの開始時に700
logData["category"] = picojson::value("hive_user_entry_log");
logData["sectionId"] = picojson::value((double)700);
Analytics::sendAnalyticsLog(logData);
// ゲームリソースとデータのダウンロード開始時の700
Analytics.sendUserEntryFunnelsLogs("700", null);
// ゲームリソースとデータのダウンロード終了時の800
Analytics.sendUserEntryFunnelsLogs("800", null);

// Analytics.sendAnalyticsLog()を使用する場合
Map<String, Object> logData = new HashMap<String, Object>();
// ゲームリソースとデータダウンロードの開始時に700
logData.put("category", "hive_user_entry_log");
logData.put("sectionId", 700);
Analytics.sendAnalyticsLog(logData);
// ゲームリソースとデータのダウンロード開始時の700
[HIVEAnalytics sendUserEntryFunnelsLogs:@"700" withOptions:nil];
// ゲームリソースとデータのダウンロード終了時の800
[HIVEAnalytics sendUserEntryFunnelsLogs:@"800" withOptions:nil];

// HIVEAnalyticsを使用する際はsendAnalyticsLogを送信します
NSMutableDictionary* logData = [[NSMutableDictionary alloc] init];
// ゲームリソースとデータダウンロードの開始時に700
[logData setObject:@"hive_user_entry_log" forKey:@"category"];
[logData setObject:700 forKey:@"sectionId"];
[HIVEAnalytics sendAnalyticsLog:logData];