SDK
Hive SDK クライアントタイプ¶
Hive SDKは、クライアントが要求する形式でログをログ収集サーバーに直接送信できるようにします。
ゲームのエントリーセクションでのファネルログ送信¶
ゲームの実装からゲームロビーへのアクセスまで、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];