Примечание. Google Play фильтрует приложения по поддерживаемым ими форматам сжатия текстур, поэтому они устанавливаются только на устройства, которые могут правильно обрабатывать их текстуры. Вы можете использовать фильтрацию сжатия текстур как способ ориентации на определенные типы устройств на основе платформы графического процессора.
Важную информацию о том, как Google Play использует элементы <supports-gl-texture>
в качестве основы для фильтрации, можно найти в разделе Google Play и фильтрация сжатия текстур .
- синтаксис:
<supports-gl-texture android:name="string" />
- содержится в:
-
<manifest>
- описание:
- Объявляет единый формат сжатия текстур GL, который поддерживает приложение.
Приложение «поддерживает» формат сжатия текстур GL, если оно может предоставлять ресурсы текстур, сжатые в этом формате, при установке приложения на устройство.
Приложение предоставляет сжатые ресурсы локально, из APK, или может загружать их с сервера во время выполнения.
Каждый элемент
<supports-gl-texture>
объявляет ровно один поддерживаемый формат сжатия текстур, указанный как значение атрибутаandroid:name
. Если ваше приложение поддерживает несколько форматов сжатия текстур, вы можете объявить несколько элементов<supports-gl-texture>
:<supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /> <supports-gl-texture android:name="GL_OES_compressed_paletted_texture" />
Элементы
<supports-gl-texture>
являются информационными. Это означает, что сама система Android не проверяет элементы во время установки, чтобы гарантировать соответствующую поддержку на устройстве.Однако другие службы, такие как Google Play, или приложения могут проверять объявления
<supports-gl-texture>
вашего приложения в рамках обработки вашего приложения или взаимодействия с ним. По этой причине очень важно объявить все форматы сжатия текстур из следующего списка, которые поддерживает ваше приложение.Приложения и устройства обычно объявляют поддерживаемые форматы сжатия текстур GL, используя следующий набор известных строк. Набор строк формата может со временем увеличиваться по мере необходимости. Поскольку значения представляют собой строки, приложения могут по мере необходимости объявлять другие форматы.
Если приложение создано с помощью SDK Platform Tools версии 3 или выше, фильтрация на основе элемента
<supports-gl-texture>
активируется для всех уровней API. - атрибуты:
-
android:name
- Указывает один формат сжатия текстур GL, поддерживаемый приложением, в виде строки дескриптора. Общие значения дескриптора перечислены в следующей таблице.
Дескриптор формата сжатия текстур Комментарии GL_OES_compressed_ETC1_RGB8_texture
Сжатие текстур Эрикссон. Указан в OpenGL ES 2.0 и доступен на всех устройствах под управлением Android, поддерживающих OpenGL ES 2.0. GL_OES_compressed_paletted_texture
Общее сжатие текстур с использованием палитры. GL_AMD_compressed_3DC_texture
Сжатие текстур ATI 3Dc. GL_AMD_compressed_ATC_texture
Сжатие текстур ATI. Доступно на устройствах с графическим процессором Adreno, включая HTC Nexus One, Droid Incredible, EVO и других. Для обеспечения максимальной совместимости устройства также могут объявлять элемент <supports-gl-texture>
с дескрипторомGL_ATI_texture_compression_atitc
.GL_EXT_texture_compression_latc
Сжатие альфа-текстур яркости. GL_EXT_texture_compression_dxt1
Сжатие текстур S3 DXT1. Поддерживается на устройствах под управлением платформы Nvidia Tegra2, включая Motorala Xoom, Motorola Atrix, Droid Bionic и других. GL_EXT_texture_compression_s3tc
Сжатие текстур S3, неспецифическое для варианта DXT. Поддерживается на устройствах под управлением платформы Nvidia Tegra2, включая Motorala Xoom, Motorola Atrix, Droid Bionic и других. Если вашему приложению требуется определенный вариант DXT, объявите этот дескриптор вместо этого. GL_IMG_texture_compression_pvrtc
Сжатие текстур PowerVR. Доступно на устройствах с графическим процессором PowerVR SGX530/540, таких как серия Motorola DROID; Samsung Galaxy S, Nexus S и Galaxy Tab; и другие.
-
- см. также:
- Форматы сжатия текстур, поддерживаемые приложением, как указано в элементах
<supports-gl-texture>
его манифеста. - Форматы сжатия текстур, поддерживаемые графическим процессором устройства. Устройство сообщает о поддерживаемых форматах как о системных свойствах, доступных только для чтения.
Google Play и фильтрация сжатия текстур
Google Play фильтрует приложения, видимые пользователям, чтобы пользователи могли видеть и загружать только те приложения, которые совместимы с их устройствами. Одним из способов фильтрации приложений является совместимость со сжатием текстур, что дает вам контроль над доступностью вашего приложения для различных устройств в зависимости от возможностей их графических процессоров.
Чтобы определить совместимость сжатия текстур приложения с устройством конкретного пользователя, Google Play сравнивает следующее:
Каждый раз, когда вы загружаете приложение в консоль Google Play, Google Play сканирует файл манифеста приложения и ищет все элементы <supports-gl-texture>
. Он извлекает дескрипторы формата из элементов и сохраняет их внутри себя как метаданные, связанные с APK-файлом приложения и версией приложения.
Когда пользователь ищет или просматривает приложения в Google Play, сервис сравнивает форматы сжатия текстур, поддерживаемые приложением, с форматами, поддерживаемыми устройством пользователя. Сравнение основано на строках дескриптора формата, и совпадение должно быть точным.
Если какой-либо из поддерживаемых приложением форматов сжатия текстур также поддерживается устройством, Google Play позволяет пользователю увидеть приложение и, возможно, загрузить его. Если ни один из форматов приложения не поддерживается устройством, Google Play фильтрует приложение и делает его недоступным для скачивания.
Если приложение не объявляет элементы <supports-gl-texture>
, Google Play не применяет никакой фильтрации на основе формата сжатия текстур GL.