Статистика игр для Android

В этом руководстве показано, как использовать 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();