Для запуска игры в Google Play Games на ПК необходимо внести изменения, обеспечивающие совместимость и оптимизацию для ПК. Эти изменения гарантируют, что игра будет работать на ПК, а пользовательский опыт будет оптимизирован для данной платформы.
Кроме того, Google Play Games на ПК предъявляет требования к графике, устройству ввода и возможности игры на разных устройствах. Для получения дополнительной информации см. руководство по началу работы .
При внесении изменений в совместимость и оптимизацию для ПК (помимо поддержки x86-64) вы можете настроить игру так, чтобы она обнаруживала игры Google Play на ПК , а затем отключать или включать функции, специфичные для платформы. Это позволит вам использовать один и тот же APK-файл или пакет приложения для мобильных устройств Android и ПК.
Ниже приведено краткое изложение требований и рекомендаций, представленных на этой странице:
- Включите ABI для архитектуры x86-64 (обязательно)
- Обнаружение игр Google Play во время выполнения (рекомендуется)
- Обработайте событие onPause (рекомендуется).
- Обновите элементы пользовательского интерфейса (обязательно)
- Отключить диалоговые окна запроса разрешений для приложений Android (обязательно)
- Отключите неподдерживаемые функции и разрешения Android (обязательно)
- Замените WebViews на намерения браузера (рекомендуется).
- Отключите неподдерживаемые API сервисов Google Play (обязательно)
- Включить ограничение области действия хранилища (обязательно)
- Перейдите на Google Analytics 4 (рекомендуется).
Включает архитектуру ABI x86-64
Требуется в процессе выпуска.
Для обеспечения наилучшей производительности и стабильности на платформе все библиотеки, включенные в вашу игру, должны иметь версии, совместимые с архитектурой x86-64 ABI.
Если технически невозможно выпустить 64-битную версию игры для архитектуры x86, вам необходимо обратиться в группу проверки за исключением. Без исключения игра не получит полной сертификации , но может быть включена в каталог как «играбельная» игра.
Составление библиотеки
Для обеспечения максимальной совместимости с процессорами x86-64 не используйте набор инструкций atom при компиляции библиотек. Например, при использовании gcc избегайте использования -march=atom и вместо этого используйте -march=x86-64 .
Целевая архитектура в Unity
В некоторых версиях Unity 2019 и 2020 отсутствует поддержка архитектуры x86-64 на Android. Убедитесь, что вы используете Unity 2019.4.31f1, 2020.3.19f1 или более позднюю версию.
Если ваша игра использует совместимую версию игрового движка Unity, выполните следующие действия, чтобы включить поддержку архитектуры x86-64 для Android:
Перейдите в «Настройки плеера» > «Другие настройки» > «Конфигурация» > «Бэкенд скриптов» и выберите IL2CPP из выпадающего меню, чтобы включить бэкенд скриптов IL2CPP.
Включите поддержку архитектуры x86-64 Android для вашей версии Unity:
Unity 2018 и более ранние версии: перейдите в «Настройки плеера» > «Другие настройки» > «Целевая архитектура» и установите флажок «x86» . Поскольку Unity 2018 поддерживает только архитектуру x86, сборка для x86-64 невозможна. Для этой сборки потребуется разрешение от команды проверки. Пожалуйста, свяжитесь со своим контактом в Google, чтобы запросить разрешение для архитектуры x86.
Для версий Unity 2019 Long Term Support (LTS) и более поздних : перейдите в Настройки плеера > Другие настройки > Целевые архитектуры и включите x86-64 (ChromeOS) .
Обнаружение игр Google Play на ПК
Вы можете определить платформу Google Play Games на ПК во время выполнения, что позволит вам включать или отключать специфические для платформы функции в вашей игре.
Проверьте наличие системной функции com.google.android.play.feature.HPE_EXPERIENCE , чтобы определить, работает ли ваша игра на платформе Google Play Games на ПК:
Котлин
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Обработка событий жизненного цикла Android
В среде Google Play Games на ПК важно обрабатывать событие onPause ( c++ ). Ваша игра становится видимой, когда игрок активирует оверлей эмулятора, поэтому игнорирование события onPause может привести к ухудшению пользовательского опыта.
Обновите пользовательский интерфейс.
Некоторые элементы пользовательского интерфейса и жесты несовместимы с ПК и требуют обновления.
Необходимый:
- Замените действия пользовательского интерфейса, требующие двух или более пальцев (мультитач-жесты). Например, следует заменить масштабирование с помощью жеста «щипок» и другие мультитач-жесты соответствующим вводом с мыши и клавиатуры. Подробную информацию об изменениях в вводе с устройств см. в разделе «Поддержка ввода» .
Рекомендуется:
- Весь видимый пользователю текст должен содержать слово «click» вместо «tap».
- Списки с прокруткой должны иметь полосы прокрутки.
- Области, которые пользователи могут перемещать по экрану, должны иметь полосы прокрутки или какой-либо другой способ быстрого перемещения на большие расстояния.
- Не отображайте на экране интерактивную клавиатуру для ввода текста.
- Все текстовые поля должны находиться в пределах границ текстового поля.
- При нажатии на видимые элементы должны:
- Разрешается щелчок мышью в любом месте в пределах видимой области элемента.
- Не принимать клики в области за пределами видимого элемента.
- Диалоговые окна должны иметь видимую кнопку закрытия. Не допускайте щелчков за пределами границ диалогового окна.
Отключить большинство диалоговых окон для запроса разрешений
За исключением разрешений на использование микрофона и уведомлений, Google Play Games на ПК не отображает диалоговые окна запроса разрешений, поэтому не следует пытаться отображать их или запрашивать разрешения во время выполнения. Если ранее вы отображали диалоговые окна запроса разрешений , вам следует обновить игру, чтобы она больше не отображала их на ПК.
Неподдерживаемые функции и разрешения Android
Требуется в процессе выпуска.
Некоторые распространенные аппаратные функции мобильных телефонов и планшетов недоступны на ПК. К ним относятся, например, камера или определение местоположения игрока. Любую игру, требующую отсутствующих функций, нельзя загрузить и установить на ПК игрока. Запросы на добавление любых отсутствующих функций на ПК автоматически отклоняются.
Полный список доступных функций можно просмотреть, набрав:
adb shell pm list featuresДля обеспечения совместимости вашей игры с ПК необходимы следующие изменения:
Чтобы пометить функции как необязательные в манифесте вашего приложения, добавьте
android:required="false"к объявлению<uses-feature>`. Это относится только к функциям, уже объявленным в манифесте вашего приложения.Не пытайтесь использовать отсутствующие функции во время выполнения. Если вы используете один и тот же APK-файл как на мобильном устройстве, так и на ПК, определите среду ПК во время выполнения и избегайте соответствующих участков кода.
Не запрашивайте неподдерживаемые разрешения Android во время выполнения. Если вы используете один и тот же APK-файл как на мобильном устройстве, так и на ПК, определите среду ПК во время выполнения и избегайте соответствующих участков кода. Вам не нужно обновлять манифест.
Для получения дополнительной информации о совместимости манифестов приложений см. руководство по совместимости манифестов приложений Chromebook .
Требования к функциональному тестированию
Перед отправкой первой тестовой сборки в Google Play Console удалите следующие аппаратные компоненты:
-
android.hardware.wifi -
android.hardware.bluetooth -
android.hardware.camera -
android.hardware.location
Некоторые из этих функций могут быть указаны как поддерживаемые при выполнении команды pm list features в целях совместимости, но они не полностью реализованы. Для получения дополнительной информации о том, как удалить функцию android.hardware.wifi , см. раздел «Мониторинг состояния подключения и учет трафика» . Полный список неподдерживаемых функций см. в руководстве по совместимости манифеста приложения для Chromebook .
Требования к контролю качества
Эти часто используемые аппаратные компоненты несовместимы с ПК, поэтому их необходимо удалить перед окончательной отправкой в Google Play Console:
-
android.hardware.audio.pro -
android.hardware.bluetooth -
android.hardware.camera -
android.hardware.consumerir -
android.hardware.location -
android.hardware.nfc -
android.hardware.sensor.light -
android.hardware.sensor.accelerometer -
android.hardware.sensor.barometer -
android.hardware.sensor.compass -
android.hardware.sensor.gyroscope -
android.hardware.sensor.proximity -
android.hardware.telephony -
android.hardware.touchscreen -
android.hardware.usb.accessory -
android.hardware.usb.host -
android.hardware.wifi -
android.software.midi
Неподдерживаемые разрешения
Следующие часто используемые разрешения не поддерживаются на ПК, поэтому в вашей игре необходимо отключить их для Google Play Games на ПК:
-
android.permission.ACCESS_COARSE_LOCATION -
android.permission.ACCESS_FINE_LOCATION -
android.permission.ACCESS_WIFI_STATE -
android.permission.BLUETOOTH -
android.permission.CAMERA -
android.permission.FOREGROUND_SERVICE -
android.permission.GET_ACCOUNTS -
android.permission.INSTALL_PACKAGES -
android.permission.READ_CONTACTS -
android.permission.READ_EXTERNAL_STORAGE -
android.permission.READ_PHONE_STATE -
android.permission.RECEIVE_BOOT_COMPLETED -
android.permission.REQUEST_INSTALL_PACKAGES -
android.permission.SYSTEM_ALERT_WINDOW -
android.permission.USE_CREDENTIALS -
android.permission.WRITE_EXTERNAL_STORAGE -
android.permission.WRITE_SETTINGS -
com.google.android.gms.permission.ACTIVITY_RECOGNITION
Внешние веб-сайты и WebViews
Интент браузера загружается в собственном веб-браузере компьютера, а не в среде Google Play Games на ПК. Это идеальное решение для игроков в большинстве ситуаций.
Для упрощения переноса, Google Play Games на ПК поддерживает WebView . Поскольку игра открывается в среде Google Play Games на ПК, в ней отсутствует стандартный настольный браузер. Если вы ранее использовали WebView для публикации условий использования, политики конфиденциальности или другого подобного контента, вам следует вместо этого использовать намерение браузера .
Отключите неподдерживаемые API сервисов Google Play.
Требуется в процессе выпуска.
Google Play Games на ПК поставляется со своей собственной версией Google Play Services, которая содержит лишь часть API Google Play Services. Вам необходимо убедиться, что ваше приложение не сильно зависит от модулей, которые отсутствуют или не поддерживаются на ПК. Учтите, что некоторые модули могут быть доступны, но их функциональность может поддерживаться не всегда. Например, Firebase Cloud Messaging не будет работать, если Google Play Games на ПК закрыт.
Поддерживаемые модули
В настоящее время эти модули доступны и поддерживаются Google Play Games на ПК, а в планах — добавление новых функций:
- Вход через Google (без учета переноса аккаунта , SmartLock , SMS-подтверждения и расчета сложности пароля )
- Кронет
- Сервисы игр Google Play
- Задачи
- Зрение
- Google Pay
Ограниченная поддержка
Следующие модули функционируют частично. Мы приложим все усилия для их поддержки в Google Play Games на ПК, но не можем гарантировать их работоспособность.
- Google Cloud Messaging (устарело, используйте Firebase Cloud Messaging)
- Аутентификация Firebase (аутентификация по номеру телефона не работает)
- Firebase Cloud Messaging
- Общие библиотеки Firebase
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Не поддерживается
Эти модули не поддерживаются в играх Google Play на ПК, но при сбоях в играх Google Play на ПК проблем не возникает:
- Google Analytics (устарело, используйте Firebase Analytics)
- Google Cast
- API осведомленности
- Диск (устарел, будет удален в ближайшее время)
- ФИДО
- База данных реального времени Firebase
- Магазин огней
- A/B-тестирование в Firebase
- Google Fit
- API адресов
- API мгновенных приложений
- API местоположения
- Google Maps SDK
- Рядом
- Панорама
- Места
- Google+
- SafetyNet (Устарело, пожалуйста, заполните форму заявки для подключения к предстоящему API Play Integrity )
- Google Tag Manager
- Wear OS
Сломанный
Требуется в процессе выпуска.
Не используйте эти модули на ПК, так как они могут вызывать некорректную работу игр Google Play на компьютере.
Включить хранилище с ограниченной областью действия
Требуется в процессе выпуска.
Этот раздел применяется, если ваша игра читает или записывает данные на внешнее хранилище. Для альтернативного способа чтения и записи на хранилище требуется принудительное использование хранилища с ограничением области действия. Это устраняет необходимость запрашивать у игрока эти конфиденциальные разрешения:
-
android.permission.READ_EXTERNAL_STORAGE -
android.permission.WRITE_EXTERNAL_STORAGE
Для получения дополнительной информации об ограниченном объеме хранилища см.:
- Как включить ограничение области действия хранилища
- Рекомендации по обработке файлов, не являющихся медиафайлами.
Аналитика
Устаревшие версии Google Analytics не работают в Google Play Games на ПК. Если это относится к вашим играм, вам следует перенести их на Google Analytics 4 .
Это должно повлиять на вашу игру только в том случае, если вы используете Google Analytics 360. Если вы используете Firebase SDK для отслеживания аналитических событий в вашей игре и видите свою игру как свойство в консоли Google Analytics , то вам не нужно предпринимать никаких дальнейших действий.