После прекращения поддержки Google Sign-In API в 2026 году мы удаляем SDK игр v1. После февраля 2025 года вы не сможете публиковать в Google Play игры, недавно интегрированные с SDK игр v1. Вместо этого мы рекомендуем использовать SDK games v2.
Хотя существующие игры с интеграцией предыдущих игр версии 1 продолжат функционировать в течение нескольких лет, вам рекомендуется перейти на версию 2, начиная с июня 2025 года.
Это руководство предназначено для использования SDK Play Games Services v1. C++ SDK для Play Games Services v2 пока недоступен.
В этом руководстве показано, как использовать службу событий в приложении C++.
Прежде чем начать
Если вы еще этого не сделали, возможно, вам будет полезно просмотреть концепции событийных игр .
Чтобы настроить среду разработки C++ для использования службы событий, следуйте инструкциям в руководстве «Начало работы с C++» . Вы можете загрузить C++ SDK сервисов Play Games со страницы загрузки SDK .
Прежде чем ваша игра сможет получить доступ к событиям, вы должны сначала определить их в консоли Google Play .
Отправить событие
Вы можете добавить в свою игру код, чтобы уведомлять службу событий всякий раз, когда происходит событие, представляющее интерес для вашей игры. Примеры событий, которые вы можете запечатлеть в своей игре: убийство врагов, исследование или возвращение в различные игровые регионы или приобретение внутриигровых предметов. Обычно вы вызываете метод Increment
в диспетчере событий, чтобы увеличивать счетчик события на 1 каждый раз, когда игрок выполняет действие, связанное с этим событием (например, «Убил одного монстра»).
В следующем примере показано, как можно отправить обновленное количество событий в службу событий.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Получить события
Чтобы получить текущее значение счетчика, хранящееся на серверах Google для определенного события, вызовите один из методов Fetch*
. Вы можете сделать это, например, если хотите отображать игровую статистику или прогресс игрока в пользовательском интерфейсе вашей игры.
В следующем примере показано, как можно получить и записать данные о событиях в вашей игре.
// Log Events details.
LogI("---- Showing Event Counts -----");
gpg::EventManager::FetchAllCallback callback =
[](gpg::EventManager::FetchAllResponse const &response) {
for (auto i : response.data) {
gpg::Event const &event = i.second;
LogI("Event name: %s count: %d", event.Name().c_str(),
event.Count());
}
};
game_services_->Events().FetchAll(callback);
После прекращения поддержки Google Sign-In API в 2026 году мы удаляем SDK игр v1. После февраля 2025 года вы не сможете публиковать в Google Play игры, недавно интегрированные с SDK игр v1. Вместо этого мы рекомендуем использовать SDK games v2.
Хотя существующие игры с интеграцией предыдущих игр версии 1 продолжат функционировать в течение нескольких лет, вам рекомендуется перейти на версию 2, начиная с июня 2025 года.
Это руководство предназначено для использования SDK Play Games Services v1. C++ SDK для Play Games Services v2 пока недоступен.
В этом руководстве показано, как использовать службу событий в приложении C++.
Прежде чем начать
Если вы еще этого не сделали, возможно, вам будет полезно просмотреть концепции событийных игр .
Чтобы настроить среду разработки C++ для использования службы событий, следуйте инструкциям в руководстве «Начало работы с C++» . Вы можете загрузить C++ SDK сервисов Play Games со страницы загрузки SDK .
Прежде чем ваша игра сможет получить доступ к событиям, вы должны сначала определить их в консоли Google Play .
Отправить событие
Вы можете добавить в свою игру код, чтобы уведомлять службу событий всякий раз, когда происходит событие, представляющее интерес для вашей игры. Примеры событий, которые вы можете запечатлеть в своей игре: убийство врагов, исследование или возвращение в различные игровые регионы или приобретение внутриигровых предметов. Обычно вы вызываете метод Increment
в менеджере событий, чтобы увеличивать счетчик события на 1 каждый раз, когда игрок выполняет действие, связанное с этим событием (например, «Убил одного монстра»).
В следующем примере показано, как можно отправить обновленное количество событий в службу событий.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Получить события
Чтобы получить текущее значение счетчика, хранящееся на серверах Google для определенного события, вызовите один из методов Fetch*
. Вы можете сделать это, например, если хотите отображать игровую статистику или прогресс игрока в пользовательском интерфейсе вашей игры.
В следующем примере показано, как можно получить и записать данные о событиях в вашей игре.
// Log Events details.
LogI("---- Showing Event Counts -----");
gpg::EventManager::FetchAllCallback callback =
[](gpg::EventManager::FetchAllResponse const &response) {
for (auto i : response.data) {
gpg::Event const &event = i.second;
LogI("Event name: %s count: %d", event.Name().c_str(),
event.Count());
}
};
game_services_->Events().FetchAll(callback);