本指南介绍了如何在 Android 应用中使用 Game Stats API 来解锁和展示游戏统计数据。这些 API 可在 com.google.android.gms.games 和 com.google.android.gms.games.playergameevent 软件包中找到。
准备工作
请阅读游戏统计数据游戏概念(如果您尚未阅读)。
开始使用 Game Stats API 进行编码之前,请执行以下操作:
按照设置 Google Play 服务 SDK 指南中的说明,安装并设置应用以使用 Google Play 游戏服务。
按照 Google Play 管理中心指南中的说明,定义您希望在游戏中解锁或显示的游戏统计数据。
获取游戏统计数据客户端
如需开始使用 Game Stats API,您的游戏必须先获取一个 GameStatsClient 对象。为此,您可以调用 Games.getGameStatsClient() 方法并传入 activity。
客户端集成
PlayerGameEvent 的客户端集成涉及在触发点使用 Java SDK 构建事件对象,并使用 SDK 提供的上传功能发送这些对象。
同样,对于 progressUpdate 事件,请使用 currentProgress 属性记录更新后的进度,并使用 SDK 提供的上传功能发送这些属性。
事件
PlayerGameEvent 的客户端集成如下:
构建玩家游戏事件
Java
// Build the PlayerGameEvent
PlayerGameEvent event = new PlayerGameEvent.Builder("matchCompleted")
.addProperty("matchId", "Match_A")
.addProperty("gameMode", "Battle_B")
.addProperty("mapId", "Location_XYZ")
.addProperty("isWinner", true)
.addProperty("playerElimination", 2)
.build();
List events = new ArrayList<>();
// ... populate list ...
构建 progressUpdate 玩家游戏事件
Java
// Build the PlayerGameEvent
PlayerGameEvent event = new PlayerGameEvent.Builder("progressUpdate")
.addProperty("currentProgress", 52)
// Add other properties if needed
.build();
List events = new ArrayList<>();
// ... populate list ...
记录事件并上传
Java
// Buffers the event locally.
client.recordEvent(event);
// Buffers the events locally, (List version)
client.recordEvents(events);
// This submits the events to PGS
client.requestEventsUpload();