Эмулятор Google Play Games на компьютере для разработчиков – это специальный эмулятор Google Play Games на компьютере, предназначенный для разработчиков. В отличие от игроков, вы можете устанавливать и отлаживать собственные пакеты. Вы также можете симулировать различные конфигурации проигрывателя, например соотношение сторон, эмуляцию мыши и графический бэкенд, чтобы убедиться, что игра работает должным образом на разных ПК.
Как запустить эмулятор
После установки в меню "Пуск" появится элемент "Эмулятор для разработчиков Google Play Игр", а на рабочем столе – ярлык для запуска эмулятора. После закрытия окна эмулятор останется в области уведомлений.
Войти
При первом запуске эмулятора вам будет предложено войти в аккаунт Google. Используйте те же учетные данные, которые вы планируете использовать для разработки.
Чтобы выйти из аккаунта, нажмите правой кнопкой мыши на значок в области уведомлений, выберите Для разработчиков и нажмите Принудительный выход. После этого эмулятор сразу перезапустится и попросит вас войти в аккаунт.
Навигация
После запуска вы увидите стандартный главный экран Android. Нажатия левой кнопки мыши преобразуются в нажатия пальцем, как в режиме эмуляции мыши. Игры, загруженные для разработки, появляются в списке приложений. Чтобы открыть его, нажмите на рабочий стол и перетащите его вверх (это имитирует жест пролистывания вверх на телефоне или планшете).
Помимо преобразования действий мыши, в эмуляторе Google Play Игр на компьютере для разработчиков есть быстрые клавиши, которые упрощают навигацию.
Ctrl + H – нажать кнопку главного экрана.Ctrl + B – нажать кнопку "Назад".F11 илиAlt + Ввод – переключение между полноэкранным и оконным режимами.Shift + Tab – открыть оверлей Google Play Игр на компьютере, в том числе текущие назначения клавиш для Input SDK.
Установка игры
Для установки пакетов в эмуляторе Google Play Игр на компьютере для разработчиков используется Android Debug Bridge (adb).
совместимость с adb
Текущие версии adb совместимы с эмулятором Google Play Games на компьютере для разработчиков.
Кроме того, совместимая версия устанавливается в папку C:\Program
Files\Google\Play Games Developer Emulator\current\emulator при установке эмулятора.
Чтобы выполнить эти инструкции, в вашей переменной $PATH должен быть доступен инструмент adb. Чтобы проверить, правильно ли настроен adb, выполните команду adb devices.
adb devices
List of devices attached
localhost:6520 deviceУстановите игру
- Запустить приложение "
Google Play Games for PC Emulator" В командной строке введите
adb devices. Вы должны увидеть следующее:adb devices List of devices attached localhost:6520 deviceУстранение неполадок
- Если возникнет ошибка, убедитесь, что вы выполнили инструкции из раздела Совместимость с ADB.
- Если вы не видите устройство, попробуйте подключиться через порт
6520:
adb connect localhost:6520Введите
adb install path\to\your\game.apk, чтобы установить игру. Если вы создали набор Android App Bundle (AAB), ознакомьтесь с инструкциями по работе с bundletool и используйтеbundletool install-apks.Запустите игру одним из следующих способов:
- Введите
adb shell monkey -p your.package.name 1, чтобы запустить игру. Заменитеyour.package.nameна название пакета игры. - В эмуляторе Google Play Games на компьютере для разработчиков нажмите на значок, чтобы запустить игру. Как и на телефоне Android, чтобы увидеть список установленных игр, нужно провести по главному экрану снизу вверх.
- Введите
Отладка игры
Используйте Android Debug Bridge (adb), как и для любой другой игры.
Эмулятор отображается как устройство, подключенное через localhost:6520.
adb logcat работает как ожидается, как и инструменты, которые помогают улучшить или отфильтровать вывод logcat, включая Android Studio.
Помимо adb, журналы доступны в каталоге %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. Наиболее полезным здесь является AndroidSerial.log, который представляет все, что adb logcat будет выводить с момента запуска эмулятора.
Настройки для разработчиков
Эмулятор Google Play Games на компьютере для разработчиков ориентирован на эффективность разработки, а не на удобство конечных пользователей. Это значит, что у вас есть полный доступ к системе Android, в том числе к стандартному лаунчеру Android вместо Google Play Games на компьютере, а также к управлению функциями, которые в противном случае автоматически включаются и отключаются для игроков.
Проверка управления мышью
В процессе разработки эмулятор Google Play Игр на компьютере для разработчиков по умолчанию использует эмуляцию сенсорного экрана, а не прямое управление мышью. Чтобы включить прямое управление мышью, нажмите правой кнопкой мыши на значок в области уведомлений и выберите Для разработчиков > Режим ПК (KiwiMouse).
В Google Play Играх на компьютере есть два режима мыши: режим эмуляции, в котором клики мыши преобразуются в одиночные нажатия, и режим ПК, в котором игры могут обрабатывать действия мыши и захватывать указатель. Подробнее о настройке управления мышью в Google Play Играх на компьютере…
В клиенте проигрывателя эмуляция отключается добавлением в манифест следующей строки:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Этот флаг функции не действует в среде разработки.
Тестирование соотношений сторон
Эмулятор разработчика запускается с соотношением сторон 16:9, в отличие от клиента проигрывателя, который определяет соотношение сторон по основному экрану. Нажмите правой кнопкой мыши на значок в области уведомлений, выберите Для разработчиков, а затем любой вариант в разделе Соотношение сторон. Так вы сможете проверить, как игра выглядит на экранах разных игроков.
Рекомендуемый способ настройки соотношения сторон – использование android:minAspectRatio и android:maxAspectRatio.
Например, для игры с вертикальной ориентацией соотношение сторон может быть 9/16 или 0.5625. Чтобы игра не была шире квадрата, можно задать максимальное соотношение сторон 1.
<activity android:maxAspectRatio="1">
...
</activity>
Аналогично, для горизонтальной игры соотношение сторон будет равно 16/9 или примерно 1.778, поэтому вы можете установить минимальное соотношение сторон 1, чтобы оно не было меньше, чем у квадрата:
<activity android:minAspectRatio="1">
...
</activity>
Что тестировать
Если в манифесте указано, что игра поддерживает только вертикальный режим, выберите в раскрывающемся списке 9:16 (вертикальный), чтобы посмотреть, как она будет выглядеть на ПК. В противном случае убедитесь, что игра работает при самом широком и самом узком горизонтальном соотношении сторон, которые вы поддерживаете в манифесте. Помните, что для полной сертификации требуется соотношение сторон 16:9 (по умолчанию) или 9:16 (вертикальный), если игра поддерживает только вертикальный режим.
Тестирование бэкендов рендеринга
Для отрисовки игр в Google Play Games на компьютере используется Vulkan, который подходит как для Android, так и для ПК. Для изоляции сред ПК и Android используется уровень изолированной программной среды. Поскольку во многих играх для рендеринга по-прежнему используется OpenGL ES, ANGLE будет преобразовывать команды OpenGL ES в команды Vulkan, совместимые с ПК.
Аналогично, Google Play Игры на компьютере обеспечивают максимальную совместимость игр и минимизируют усилия разработчиков, автоматически преобразуя форматы текстур, оптимизированные для мобильных устройств, такие как ETC1 и ETC2, в форматы, совместимые с ПК, во время выполнения. Чтобы избежать этого, используйте форматы, поддерживаемые графическими процессорами ПК, например DXTC или BPTC.
Что тестировать
Если в игре появляются неожиданные артефакты рендеринга, проверьте исходную графику и попробуйте перейти на формат, подходящий для ПК. Обратите особое внимание на текстуры, используемые для более сложных эффектов, поскольку проблемы с нормалями или кубическими картами часто сложнее обнаружить, чем проблемы с альбедо.
Преобразование команд OpenGL ES в Vulkan с помощью ANGLE приведет к дополнительной нагрузке. Убедитесь, что вы достигаете ожидаемых целей эффективности, и рассмотрите возможность перехода на рендерер на основе Vulkan.
Профилирование игры для ПК
Поскольку в эмуляторе используется та же технология, что и в клиенте, он подходит для профилирования производительности.
Perfetto – это инструмент для анализа производительности на Android. Чтобы собрать и посмотреть трассировку Perfetto, выполните следующие действия:
В командной строке PowerShell запустите трассировку с помощью
adb.adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace- Флаг
--timeуказывает продолжительность трассировки. В этом примере трассировка длится 10 секунд. - Аргументы после флага
--timeуказывают, какие события нужно отслеживать. В этом примереgfxуказывает на графику,wm– на управление окнами, аsched– на информацию о планировании процессов. Это распространенные флаги для профилирования игр. Также доступна полная справка. - Флаг
--outуказывает выходной файл, который на следующем шаге извлекается из эмулятора на хост-машину.
- Флаг
Получите трассировку от хоста
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.traceКак открыть трассировку в Perfetto UI
- Откройте страницу ui.perfetto.dev.
- В левом верхнем углу в разделе Навигация выберите Открыть файл трассировки.
- Откройте файл
example.trace, скачанный на предыдущем шаге, в каталогеDownloads/.
Изучите трассировку в Perfetto UI. Несколько советов:
- Каждый процесс представлен в отдельной строке, которую можно развернуть, чтобы посмотреть все потоки в этом процессе. Если вы профилируете игру, ее процесс, скорее всего, будет в первой строке.
- Чтобы изменить масштаб, удерживайте клавишу Ctrl и используйте колесо прокрутки.
- При использовании события
schedдля каждого потока есть строка, показывающая, когда состояние этого потока выполняется, может выполняться, находится в спящем режиме или заблокировано. - Включив событие, например
gfx, вы сможете увидеть различные вызовы графики, сделанные разными потоками. Вы можете выбрать отдельные "срезы", чтобы посмотреть, сколько времени они заняли, или перетащить строку, чтобы внизу открылся раздел "срезы" и показал, сколько времени заняли все срезы в выбранном вами временном окне.
Профилирование графики
Для профилирования графики можно использовать RenderDoc.
- Задайте для переменной среды
ANDROID_EMU_RENDERDOCнепустую строку (например,"1"). Задайте для переменной среды
TMPзначение%USERPROFILE%\AppData\LocalLow. Это указывает Renderdoc, что файлы журнала нужно поместить в доступное место в песочнице эмулятора.Если вы используете серверную часть Vulkan. Выберите Graphics Settings (Настройки графики) > Vulkan Instance Implicit Layers (Неявные слои экземпляра Vulkan) и убедитесь, что установлен флажок VKLAYER_RENDERDOC_Capture.
Запустите эмулятор Google Play Games на компьютере для разработчиков. Если поддержка включена, в верхней части экрана будет показан оверлей RenderDoc.
Запустите RenderDoc до или после запуска эмулятора Google Play Игр на компьютере для разработчиков.
Нажмите File (Файл) > Attach to Running Instance (Прикрепить к запущенному экземпляру) и выберите crosvm.
Укажите переменные среды
Чтобы RenderDoc работал, нужно добавить или изменить переменные среды в Windows. Переменные среды можно изменить в интерфейсе, PowerShell или cmd.exe.
Использование интерфейса
- Нажмите
Win + R , чтобы открыть диалоговое окно "Выполнить". - Введите
sysdm.cpl, чтобы открыть окно Свойства системы. - Откройте вкладку Дополнительные.
- Нажмите кнопку Environment Variables (Переменные среды).
Нажмите кнопку New (Создать), чтобы создать переменную среды, или выберите переменную и нажмите кнопку Edit (Изменить), чтобы изменить ее.
Как использовать PowerShell
В окне PowerShell введите:
$Env:VARIABLE_NAME=VALUE
Замените VARIABLE_NAME и VALUE нужными значениями. Например, чтобы задать для ANDROID_EMU_RENDERDOC значение "1", введите:
$Env:ANDROID_EMU_RENDERDOC="1"
Используйте cmd.exe
В окне cmd.exe введите:
set VARIABLE_NAME=VALUE
Замените VARIABLE_NAME и VALUE на нужные значения. Например, чтобы задать для ANDROID_EMU_RENDERDOC значение "1", введите:
set ANDROID_EMU_RENDERDOC="1"
Советы для Android 11 (уровень API 30) или более поздних версий
Google Play Games на компьютере обновляется с последними версиями Android. Вот несколько советов по работе с последней версией Android.
Поддерживайте актуальность инструментов
Android Studio устанавливает версию adb, совместимую с эмулятором разработчика, однако некоторые игровые движки включают более старую версию adb. В этом случае после установки эмулятора для разработчиков вы сможете найти совместимую версию adb по адресу C:\Program Files\Google\Play Games Developer
Emulator\current\emulator.
Если вы запустите одну версию adb, другая будет закрыта. Это означает, что если игровой движок автоматически запускает собственный экземпляр adb, вам может потребоваться перезапустить и повторно подключить версию adb, которая поставляется с эмулятором разработчика, при каждом развертывании.
Если вы используете Android App Bundle, установите последнюю версию Bundletool из хранилища GitHub.
Области хранения данных
В Android 11 (уровень API 30) и более поздних версиях есть области хранения данных, которые обеспечивают лучшую защиту данных приложений и пользователей во внешнем хранилище. Помимо обеспечения совместимости игры с требованиями к областям хранения данных, вам нужно выполнить дополнительные действия, чтобы загрузить файлы дополнений APK (OBB) или данные объектов в эмулятор Google Play Игр на компьютере для разработчиков. Если у вас возникли проблемы с доступом к этим файлам из игры, выполните следующие действия:
- Создайте каталог, который может читать ваше приложение.
- Перенесите файлы дополнений в эмулятор.
adb shell mkdir /sdcard/Android/obb/com.example.gameadb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Доступность пакета
Из-за новых правил видимости пакетов приложения, предназначенные для Android 11 (уровень API 30) или более поздней версии, не могут запрашивать информацию о других приложениях, установленных на устройстве. Это означает, что у вашей игры не будет доступа к сервисам Google Play, если она установлена из неизвестного источника (adb), а не из Google Play. Чтобы протестировать покупки в приложении, установленном из неизвестного источника, добавьте запрос к пакету com.android.vending в файл AndroidManifest.xml, как показано ниже.
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Установка игры в клиенте для пользователей
Вы не сможете установить игру на клиентское устройство, пока она не будет добавлена в каталог сервисов Play Games. После первого выпуска игры вы можете создать канал внутреннего тестирования, чтобы проверять будущие обновления перед выпуском.
Клиент для игроков не поддерживает функции для разработчиков, которые есть в эмуляторе Google Play Игр на компьютере. Это лучший способ провести контроль качества игры перед выпуском и протестировать все возможности для игроков после первоначального выпуска.