跳转至

开发工具包

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 按部分将日志发送到分析,以便分析用户离开游戏的点。

Note

Hive SDK v4.11.0及更高版本自动支持日志传输。要实现此功能,请在Hive 控制台 > 分析 > 分析 > 漏斗分析菜单中创建漏斗。请参考操作 > 分析 > 漏斗分析页面在Hive 控制台中创建漏斗。

  • 收集漏斗的部分 记录游戏用户在游戏应用中离开下面部分的历史。每个用户在单次启动应用时记录一次漏斗日志。根据在游戏中实施 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 发送分析日志
NSMutableDictionary* logData = [[NSMutableDictionary alloc] init];
// 游戏资源和数据下载开始时的 700
[logData setObject:@"hive_user_entry_log" forKey:@"category"];
[logData setObject:700 forKey:@"sectionId"];
[HIVEAnalytics sendAnalyticsLog:logData];