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 Аналитику 4 (рекомендуется)
Включить архитектуру ABI x86-64.
Требуется для процесса выпуска
Для всех библиотек, включенных в вашу игру, требуются версии, совместимые с ABI x86-64, чтобы обеспечить максимальную производительность и стабильность на платформе.
Если для вашей игры технически невозможно выпустить 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, выполните следующие действия, чтобы включить целевые устройства Android x86-64:
Перейдите в «Настройки проигрывателя» > «Другие настройки» > «Конфигурация» > «Скриптовый сервер» и выберите IL2CPP в раскрывающемся меню, чтобы включить «Скриптовый сервер IL2CPP».
Включите целевые устройства Android x86-64 для вашей версии 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")
Ява
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
С#
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
Важно обрабатывать событие onPause
( c++ ) в среде Google Play Games на ПК. Ваша игра видна, когда игрок активирует оверлей эмулятора, поэтому отсутствие прослушивания события onPause
может привести к ухудшению пользовательского опыта.
Обновите пользовательский интерфейс
Некоторые элементы пользовательского интерфейса и жесты не подходят для ПК, и их следует обновить.
Необходимый:
- Замените действия пользовательского интерфейса, для которых требуется два или более пальцев (мультитач-жесты). Например, вам следует заменить масштабирование и другие мультисенсорные жесты соответствующим вводом с помощью мыши и клавиатуры. Подробную информацию об изменениях ввода устройства см. в разделе Поддержка ввода .
Рекомендуется:
- Весь видимый пользователю текст должен содержать надпись «нажмите», а не «нажмите».
- Прокручиваемые списки должны иметь полосы прокрутки.
- Области, которые пользователи могут панорамировать, должны иметь полосы прокрутки или какой-либо другой способ быстрого перемещения на большие расстояния.
- Не отображайте на экране интерактивную клавиатуру для ввода текста.
- Все текстовые записи должны находиться в пределах границ текстового поля.
- Щелчки по видимым элементам должны:
- Примите щелчок в любом месте в пределах видимых границ элемента.
- Не принимать щелчок в области за пределами видимого элемента.
- Диалоги должны иметь видимую кнопку закрытия. Не обнаруживайте щелчок за пределами границ диалогового окна.
Отключить большинство диалоговых окон разрешений
За исключением разрешения микрофона, Google Play Games на ПК не отображает диалоговые окна разрешений, поэтому не следует пытаться отображать их или запрашивать разрешения во время выполнения. Если вы раньше отображали диалоговые окна разрешений , вам следует обновить игру, чтобы она больше не отображала их на ПК.
Неподдерживаемые функции и разрешения Android
Требуется для процесса выпуска
Некоторые общие аппаратные функции мобильных телефонов и планшетов недоступны на ПК. Сюда входят аппаратные функции, такие как камера или местоположение игрока. Любую игру, в которой требуются отсутствующие функции, нельзя загрузить и установить на компьютер игрока. Запросы на недостающие функции на ПК автоматически терпят неудачу.
Полный список доступных функций можно просмотреть, набрав:
adb shell pm list features
Чтобы сделать вашу игру совместимой с ПК, необходимо внести следующие изменения:
Отметьте функции как необязательные в манифесте приложения, добавив
android:required="false"
в объявление<uses-feature>
. Это относится только к функциям, уже объявленным в манифесте вашего приложения.Не пытайтесь использовать недостающие функции во время выполнения. Если вы используете один и тот же APK как на мобильном телефоне, так и на ПК, определите среду ПК во время выполнения и избегайте соответствующих путей кода.
Не запрашивайте неподдерживаемые разрешения Android во время выполнения. Если вы используете один и тот же APK как на мобильном телефоне, так и на ПК, определите среду ПК во время выполнения и избегайте соответствующих путей кода. Вам не нужно обновлять манифест.
Дополнительную информацию о совместимости манифеста приложения см. в руководстве по совместимости манифеста приложения Chromebook .
Требования к функциональному тестированию
Удалите эти аппаратные функции перед отправкой первой тестовой сборки в консоль Google Play:
-
android.hardware.wifi
-
android.hardware.bluetooth
-
android.hardware.camera
-
android.hardware.location
Некоторые из этих функций могут быть указаны как поддерживаемые при запуске pm list features
по соображениям совместимости, но они реализованы не полностью. Дополнительные сведения об удалении функции android.hardware.wifi
см. в разделе Мониторинг состояния подключения и измерения количества подключений . Полный список неподдерживаемых функций см. в руководстве по совместимости манифеста приложения для Chromebook .
Требования к тестированию качества
Эти часто используемые аппаратные функции несовместимы с ПК, поэтому их необходимо удалить перед окончательной отправкой в консоль Google Play:
-
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, который содержит только часть API-интерфейсов сервисов Google Play. Вам необходимо подтвердить, что ваше приложение не сильно зависит от модулей, которые отсутствуют или не поддерживаются на ПК. Учтите, что некоторые модули могут быть доступны, но их функциональность поддерживается не всегда. Например, Firebase Cloud Messaging не будет работать, если Google Play Games на ПК закрыт.
Поддерживаемые модули
Эти модули в настоящее время доступны и поддерживаются Google Play Games на ПК; планируется поддержка дополнительных функций:
- Вход в Google (не включая перенос аккаунта , SmartLock , проверку по SMS , расчет сложности пароля )
- Кронет
- Игровые сервисы Google Play
- Задачи
- Зрение
- Гугл Пэй
Ограниченная поддержка
Следующие модули частично функциональны. Мы сделаем все возможное, чтобы поддерживать их в Google Play Games для ПК, но не можем гарантировать их функциональность.
- Google Cloud Messaging (устарело, используйте Firebase Cloud Messaging)
- Аутентификация Firebase (авторизация по номеру телефона не работает)
- Облачный обмен сообщениями Firebase
- Общие библиотеки Firebase
- Firebase ML
- Удаленная конфигурация Firebase
- Аналитика Firebase
Не поддерживается
Эти модули не поддерживаются в Google Play Играх на ПК, но не вызывают проблем в Google Play Играх на ПК в случае сбоя:
- Google Analytics (устарело, используйте Firebase Analytics)
- Google Каст
- API осведомленности
- Диск (устарело, скоро будет удалено)
- ФИДО
- База данных Firebase в реальном времени
- Пожарная лавка
- A/B-тестирование Firebase
- Google Фит
- Адресный API
- API мгновенных приложений
- API местоположения
- SDK Google Карт
- Рядом
- Панорама
- Места
- Гугл+
- SafetyNet (устарело. Заполните форму , чтобы принять участие в предстоящем API целостности Play .)
- Диспетчер тегов Google
- Носить ОС
Сломанный
Требуется для процесса выпуска
Вы не должны использовать эти модули на ПК, поскольку они могут вызвать непредвиденное поведение в Google Play Играх на ПК.
Включить ограниченное хранилище
Требуется для процесса выпуска
Этот раздел применим, если ваша игра читает или записывает данные на внешнее хранилище. Обеспечение соблюдения области хранения требуется в качестве альтернативного способа чтения и записи в хранилище. При этом устраняется необходимость запрашивать у игрока эти конфиденциальные разрешения:
-
android.permission.READ_EXTERNAL_STORAGE
-
android.permission.WRITE_EXTERNAL_STORAGE
Дополнительные сведения о хранилище с ограниченной областью действия см.:
Аналитика
Устаревшие продукты Google Analytics не работают в Google Play Играх на ПК. Если это относится к вашим играм, вам следует перенести их в Google Analytics 4 .
Это должно повлиять на вашу игру только в том случае, если вы в настоящее время используете Google Analytics 360 . Если вы используете Firebase SDK для отслеживания событий аналитики в своей игре и видите свою игру как свойство в консоли Google Analytics , вам не нужно предпринимать никаких дополнительных действий.