Этот документ поможет вам настроить ваш проект на C++ для работы с нативным C или C++ версии 2 и проверить службу аутентификации.
Прежде чем начать
Необходимо настроить сервисы Play Games в консоли Google Play.
Предварительные требования к приложению
Убедитесь, что в файле сборки вашего приложения используются следующие значения:
-
minSdkVersion—19или выше. -
compileSdkVersion28или выше
Настройте свой игровой проект
Выполните следующие шаги, чтобы настроить свой игровой проект.
Обновите файл 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.
Чтобы указать идентификатор проекта 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>Создайте строковый ресурс для идентификатора вашего проекта. Это позволит вашей игре получить доступ к идентификатору во время сборки. Для создания ресурса создайте файл
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>Создайте и протестируйте свою игру. В случае успеха, при запуске игры отобразится запрос на вход в систему или баннер об успешном входе.
Повторно запустите окно входа в систему.
Если игрок отклоняет первоначальное предложение о входе в Play Games Services, которое автоматически отображается при запуске вашей игры, он может передумать во время игровой сессии. Вы можете повторно запустить запрос на вход, вызвав функцию PgsGamesSignInClient_signIn , пока ни один игрок не авторизован.
Авторизация игрового сервера
После успешной аутентификации игрока в Play Games Services, ваш игровой клиент может запросить код авторизации сервера, который ваш сервер сможет использовать для безопасной связи с Play Games Services. Это позволит вашему игровому серверу получать, обновлять и хранить данные об авторизованном игроке. Вы можете получить код авторизации сервера, вызвав функцию PgsGamesSignInClient_requestServerSideAccess .
Для получения более подробной информации см. руководство по доступу к серверу .