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

Прежде чем начать

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

В этом руководстве для разработчиков используется 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, где вы установили 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.

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

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

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

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

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

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

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

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

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