Начало работы с игровыми сервисами Play для C++ на Android

В связи с прекращением поддержки API Google Sign-In , мы удаляем SDK для игр версии 1 в 2026 году. После февраля 2025 года вы не сможете публиковать в Google Play игры, которые были интегрированы с SDK для игр версии 1. Мы рекомендуем использовать вместо него SDK для игр версии 2.
Хотя существующие игры с интеграцией предыдущих версий v1 будут продолжать работать еще пару лет, мы рекомендуем перейти на версию v2, начиная с июня 2025 года.
Данное руководство предназначено для использования SDK Play Games Services v1. SDK C++ для Play Games Services v2 пока недоступен.

В этом руководстве для разработчиков показано, как скомпилировать и запустить игру на C++ на Android, использующую API сервисов Google Play Game. Прежде чем начать, загрузите и настройте следующие необходимые зависимости:

В этом руководстве для разработчиков используется Android Native Development Kit (NDK). Если вы не знакомы с NDK, перед продолжением ознакомьтесь с документацией и примерами NDK .

Шаг 1: Настройте свою среду.

  1. Загрузите Android SDK и Android NDK и распакуйте их на свой компьютер. В настройках среды установите SDK_ROOT в путь к папке Android SDK, а NDK_ROOT в путь к папке Android NDK.
  2. Загрузите примеры игр на C++ . В этом руководстве для разработчиков указано местоположение примеров на вашем компьютере как SAMPLES_DIR .
  3. Загрузите C++ SDK для сервисов Google Play Games . Распакуйте SDK на свой компьютер для разработки. В вашей среде установите переменную NDK_MODULE_PATH так, чтобы она указывала на каталог, расположенный выше каталога gpg-cpp-sdk . У вас должна получиться следующая структура каталогов:
    NDK_MODULE_PATH/
    gpg-cpp-sdk/
  4. Откройте Eclipse. Если вы еще этого не сделали, укажите Eclipse, куда вы установили NDK, перейдя в Настройки > Android > NDK .
  5. Импортируйте проект библиотеки сервисов Google Play в рабочую область Eclipse.

    1. В Eclipse перейдите в меню Файл > Импорт > Android > Существующий код Android в рабочую область .
    2. Выберите SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib , где SDK_ROOT — это местоположение вашего Android SDK.
    3. Нажмите «Готово» .
  6. Импортируйте минималистичный пример проекта в свою рабочую область Eclipse.

    1. В Eclipse перейдите в меню Файл > Импорт > Android > Существующий код Android в рабочую область .
    2. Выберите SAMPLES_DIR/samples-android/minimalist .
    3. Нажмите «Готово» .
  7. Щелкните правой кнопкой мыши по проекту MinimalistActivity и выберите «Свойства» . В разделе Android прокрутите вниз до раздела «Библиотека» и убедитесь, что проект google-play-services_lib правильно указан. Если нет, удалите ссылку и добавьте ее снова из рабочей области.

Eclipse автоматически скомпилирует исходные коды Java и Android вашего проекта; однако нативный код в папке jni необходимо скомпилировать отдельно. Чтобы сделать это вручную, перейдите в папку jni и запустите ndk-build . Не забудьте сделать это после внесения любых изменений в папку jni .

Теперь ваш проект должен скомпилироваться, хотя пока он не будет работать. Сначала вам необходимо настроить игру в консоли Google Play.

Шаг 2: Настройте игру в Google Play Console.

Создайте запись для своей игры в Google Play Console. Это активирует игровые сервисы для вашего приложения и создаст идентификатор клиента OAuth 2.0, если у вас его еще нет.

  1. Создайте запись для своей игры, следуя инструкциям, описанным в разделе «Настройка сервисов Google Play Games» .
  2. В AndroidManifest.xml измените атрибут package тега <manifest> на имя пакета, которое вы выбрали при настройке Google Play Console. После внесения этого изменения вам, возможно, потребуется исправить некоторые ссылки в проекте (особенно на сгенерированный класс R ).
  3. Откройте res/values/ids.xml и вставьте туда идентификатор вашего приложения (App ID). Обратите внимание, что App ID не совпадает с идентификатором клиента (Clinic ID); это число, указанное рядом с названием вашей игры на странице сведений об игре в Google Play Console.

Шаг 3: Запустите образец.

Для запуска примера вам потребуется физическое устройство Android или эмулятор с установленными сервисами Google Play:

  1. Запустите ndk-build для компиляции нативного кода.
  2. В Eclipse нажмите Run > Run As > Android Application и запустите пример на своем устройстве.
  3. Когда откроется демонстрационная версия, коснитесь любого места на экране. Вы должны увидеть логотип Google Play Games. Если вы правильно настроили приложение, вам будет предложено войти в систему.

Дополнительно: автоматическая сборка с помощью Eclipse.

Следующие шаги показывают, как настроить Eclipse для автоматического запуска ndk-build при внесении изменений в файлы в папке jni .

  1. Щелкните правой кнопкой мыши проект MinimalistActivity и выберите «Свойства» . В окне «Свойства» выберите панель «Построители» .
  2. Чтобы добавить нового конструктора, нажмите «Создать» , выберите «Программа» и нажмите «ОК» .
  3. В поле «Имя» введите «NDK Builder».
  4. В разделе «Расположение» нажмите «Просмотреть файловую систему» , перейдите в каталог NDK_ROOT и выберите команду ndk-build .
  5. В разделе «Рабочий каталог» нажмите «Просмотреть рабочую область» и выберите папку проекта MinimalistActivity.
  6. Перейдите на вкладку «Обновить» . Убедитесь, что установлен флажок «Обновлять ресурсы по завершении» .
  7. Выберите переключатель «Конкретные ресурсы» , а затем нажмите «Указать ресурсы» . В появившемся диалоговом окне выберите папку jni в разделе MinimalActivity.
  8. Нажмите «Применить» , а затем «ОК» , чтобы завершить создание конструктора.

Теперь при каждом редактировании файла в папке jni Eclipse будет запускать ndk-build и выводить результат в консоль Eclipse.