В этом руководстве рассказывается, как использовать Game Stats API в приложении для Android, чтобы разблокировать и показывать игровую статистику в игре. API можно найти в пакетах com.google.android.gms.games и com.google.android.gms.games.playergameevent.
Подготовка
Если вы ещё не знакомы с этой функцией, рекомендуем прочитать основные сведения об игровой статистике.
Прежде чем начать писать код с использованием Game Stats API:
Следуйте инструкциям по установке и настройке приложения для использования сервисов Google Play Games в руководстве Как настроить SDK сервисов Google Play.
Настройте игровую статистику, которую вы хотите показывать в игре, следуя инструкциям в руководстве по Google Play Console.
Как получить клиент игровой статистики
Чтобы начать работу с 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();