Metrics Interface

记录游戏会话的接口,用于收集游戏使用数据。

阅读时间4分钟

数据记录接口(Metrics Interface) 会跟踪游戏的使用情况,并在开发人员门户中填充 游戏分析操作面板(Game Analytics dashboard) 。这些数据包括游戏的客户端和服务器的活跃在线实例,以及本地玩家之前运行的会话。要访问 游戏分析操作面板(Game Analytics dashboard) ,登录开发人员门户(dev.epicgames.com/portal),选择左侧导航条中的 分析(Analytics)

收集使用指标

要启用数据收集,通过 平台接口 函数 EOS_Platform_GetMetricsInterface 获取 EOS_HMetrics 句柄。所有数据记录接口函数都需要此句柄作为自身第一个参数。

Epic在线服务 (EOS) SDK负责收集数据,而后端服务负责处理和存储。游戏分析操作面板(Game Analytics dashboard) 将显示聚合结果,以便你监控全球范围的游戏活动、玩家留存度和在线用户数量。

限制

指标数据每五分钟更新一次。鉴于此更新频率,测试时你的客户端可能不会立即显示在操作面板上。此外,由于用户留存度计算需要多日历史数据, 游戏分析操作面板(Game Analytics dashboard) 不会显示最初几天的玩家留存度信息。

执行指标收集需要独占使用EOS SDK公开的API。不可同时使用EOS SDK和外部程序或服务进行指标收集。

报告运行会话

EOS数据收集需要每个玩家开始和结束会话时的游戏报告。要记录会话,请使用游戏中的各玩家的 EOS_Metrics_BeginPlayerSessionOptions 数据结构调用 EOS_Metrics_BeginPlayerSession 。这将通知SDK,玩家已加入远程服务器上的游戏,或者在自己的服务器上托管游戏。一旦玩家离开服务器或结束本地会话,使用 EOS_Metrics_EndPlayerSessionOptions 数据结构调用 EOS_Metrics_EndPlayerSession ,以标记会话的结束。

调用 EOS_Metrics_BeginPlayerSession 时,应使用以下信息初始化 EOS_Metrics_BeginPlayerSessionOptions 结构:

属性
ApiVersion将此属性设为 EOS_METRICS_BEGINPLAYERSESSION_API_LATEST
LocalUserId本地用户的全局唯一账号标识符。用于Epic用户账号。
LocalUserIdExternal本地用户的全局唯一账号标识符。用于非Epic用户账号。
DisplayName玩家的游戏昵称,采用UTF-8字符串。
ControllerType玩家所用游戏控制器的类型。
ServerIp托管游戏会话的游戏服务器的IP地址。
GameSessionId游戏可以设置自定义匹配标识符字符串,附加到后端服务的会话记录上。这些数据未来可用于将游戏会话与游戏期间发生的追踪事件关联起来。

调用 EOS_Metrics_EndPlayerSession 时,使用以下信息初始化 EOS_Metrics_EndPlayerSessionOptions 结构:

属性
ApiVersion将此属性设为 EOS_METRICS_ENDPLAYERSESSION_API_LATEST
LocalUserId发起会话的玩家的账号ID。这应与先前调用 EOS_Metrics_BeginPlayerSession 时所用的 LocalUserId 匹配。
LocalUserIdExternal发起会话的玩家的账号ID。这应与先前调用 EOS_Metrics_BeginPlayerSession 时所用的 LocalUserIdExternal 匹配。

收集并发在线用户(CCU)和用户留存度数据

EOS SDK自动记录并发在线用户和游戏服务器的数量。SDK在运行游戏客户端或服务器的在线机器上初始化时,此功能就会激活。游戏上线数天后将计算用户留存度数据,计算时会基于报告的游戏会话使用历史数据。