Настройка версии 2 для нативного C или C++

Этот документ поможет вам настроить ваш проект на C++ для работы с нативным C или C++ версии 2 и проверить службу аутентификации.

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

Необходимо настроить сервисы Play Games в консоли Google Play.

Предварительные требования к приложению

Убедитесь, что в файле сборки вашего приложения используются следующие значения:

  • minSdkVersion19 или выше.
  • compileSdkVersion 28 или выше

Настройте свой игровой проект

Выполните следующие шаги, чтобы настроить свой игровой проект.

Обновите файл build.gradle.

В файле build.gradle на уровне приложения выполните следующие действия:

  • Убедитесь, что функция создания префабов включена.

  • Добавьте зависимость для нативного SDK версии 2 (бета-версия):

    • com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1

Вот пример:

  android {
    ...
    buildFeatures {
      prefab true
    }
    ...
  }
  dependencies {
    ...
    implementation "com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1"
  }

Обновите файл CMakeLists.txt

В файл CMakeLists.txt добавьте следующий код:

  find_package(com.google.android.gms.games.v2.c REQUIRED CONFIG)

  // link games_static for -DANDROID_STL=c++_static or default
  // link games_shared for -DANDROID_STL=c++_shared
  target_link_libraries(
    app PUBLIC com.google.android.gms.games.v2.c::games_static)

Обновите файл AndroidManifest.xml.

  1. Чтобы указать идентификатор проекта Play Games Services в файле AndroidManifest.xml , добавьте следующие строки:

    <manifest>
      <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                   android:value="@string/game_services_project_id"/>
      </application>
    </manifest>
    
  2. Создайте строковый ресурс для идентификатора вашего проекта. Это позволит вашей игре получить доступ к идентификатору во время сборки. Для создания ресурса создайте файл project_root /app/src/main/res/values/games-ids.xml -ids.xml и добавьте следующее:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="game_services_project_id"
                translatable="false">add your Project ID here</string>
    </resources>
    
  3. Создайте и протестируйте свою игру. В случае успеха, при запуске игры отобразится запрос на вход в систему или баннер об успешном входе.

Повторно запустите окно входа в систему.

Если игрок отклоняет первоначальное предложение о входе в Play Games Services, которое автоматически отображается при запуске вашей игры, он может передумать во время игровой сессии. Вы можете повторно запустить запрос на вход, вызвав функцию PgsGamesSignInClient_signIn , пока ни один игрок не авторизован.

Авторизация игрового сервера

После успешной аутентификации игрока в Play Games Services, ваш игровой клиент может запросить код авторизации сервера, который ваш сервер сможет использовать для безопасной связи с Play Games Services. Это позволит вашему игровому серверу получать, обновлять и хранить данные об авторизованном игроке. Вы можете получить код авторизации сервера, вызвав функцию PgsGamesSignInClient_requestServerSideAccess .

Для получения более подробной информации см. руководство по доступу к серверу .