数据记录接口(Metrics Interface) 会跟踪游戏的使用情况,并在 开发者门户 中填充 游戏统计数据控制板。此类数据包括游戏的客户端和服务器的活跃在线实例,以及本地玩家之前运行的会话。
收集使用指标
要启用数据收集,可通过 平台接口 函数 EOS_Platform_GetMetricsInterface
获取 EOS_HMetrics
句柄。所有数据记录接口函数都需要此句柄作为自身首个参数。
Epic在线服务(EOS)SDK负责收集数据,而后端服务负责处理和存储。游戏统计数据控制板中将显示聚合结果,利用其可监视世界范围内的游戏状态、玩家留存度和在线用户数。
限制
指标数据每5分钟更新一次。由于此更新频率,测试时客户端可能不会立即显示在控制板中。此外,用户留存度计算需要多日历史数据,因此游戏统计数据控制板不会显示最初几天的用户留存度信息。
执行指标收集需要独占使用EOS SDK公开的API。不可同时使用EOS SDK和外部程序或服务进行指标收集。
报告运行会话
EOS数据收集需要每个玩家开始和结束运行会话时的游戏报告。要记录会话,请使用游戏中的各玩家的`EOS_Metrics_BeginPlayerSessionOptions 数据结构并调用
EOS_Metrics_BeginPlayerSession。此操作将通知SDK,玩家已在远程服务器上加入游戏,或已自行建立游戏。若玩家离开服务器或结束本地会话,使用
EOS_Metrics_BeginPlayerSessionOptions 数据结构并调用
EOS_Metrics_EndPlayerSession` 来标记会话的结束。
EOS_Metrics_BeginPlayerSession
的调用与 EOS_MetricsEndPlayerSession
的调用进行配对。否则可能导致报告的指标数据不准确。快速调用 EOS_Metrics_BeginPlayerSession
和 EOS_Metrics_EndPlayerSession
调用 EOS_Metrics_BeginPlayerSession
时,应使用下列信息初始化 EOS_Metrics_BeginPlayerSessionOptions
结构:
属性 |
值 |
---|---|
|
将此属性设为 |
|
本地用户的全局专属帐户辨识符。用于Epic用户帐户。 |
|
本地用户的全局专属帐户辨识符。用于非Epic用户帐户。 |
|
玩家的游戏昵称,采用UTF-8字符串。 |
|
玩家使用的游戏控制器类型。 |
|
主持游戏会话的游戏服务器IP地址。 |
|
游戏可设置自定义匹配辨识符,其将附加到后端服务上的会话记录。此数据未来可用于将游戏会话与运行时发生的跟踪事件相关联。 |
调用 EOS_Metrics_EndPlayerSession
时,使用下列信息初始化 EOS_Metrics_EndPlayerSessionOptions
结构:
属性 |
值 |
---|---|
|
将此属性设为 |
|
启动会话的玩家帐户ID。此应与先前调用 |
|
启动会话的玩家帐户ID。此应与先前调用 |
收集并发在线玩家数(CCU)和用户留存度数据
EOS SDK会自动记录并发在线玩家数和游戏服务器数量。SDK在运行游戏客户端或服务器的在线设备上初始化时,将激活此功能。游戏上线数日后将计算用户留存度数据,其将基于报告的运行会话使用历史数据。