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