<obsługa-gl-texture>

Uwaga: Google Play filtruje aplikacje zgodnie z obsługiwanymi przez nie formatami kompresji tekstur, aby były instalowane tylko na urządzeniach, które prawidłowo obsługują tekstury. Możesz używać filtrowania kompresji tekstur, aby kierować reklamy na konkretne typy urządzeń na podstawie platformy GPU.

Ważne informacje o tym, jak Google Play używa elementów <supports-gl-texture> jako podstawy filtrowania, znajdziesz w sekcji Google Play i filtrowanie kompresji tekstur.

składnia:
<supports-gl-texture
  android:name="string" />
zawarte w:
<manifest>
description:
Deklaruje pojedynczy format kompresji tekstur GL obsługiwany przez aplikację.

Aplikacja „obsługuje” format kompresji tekstur GL, jeśli może dostarczać zasoby tekstur skompresowane w tym formacie podczas instalowania aplikacji na urządzeniu.

Aplikacja udostępnia skompresowane zasoby lokalnie, z poziomu pliku APK lub może je pobierać z serwera w czasie działania.

Każdy element <supports-gl-texture> deklaruje dokładnie 1 obsługiwany format kompresji tekstur, określony jako wartość atrybutu android:name. Jeśli aplikacja obsługuje wiele formatów kompresji tekstur, możesz zadeklarować wiele elementów <supports-gl-texture>:

<supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" />
<supports-gl-texture android:name="GL_OES_compressed_paletted_texture" />

Elementy <supports-gl-texture> mają charakter informacyjny, co oznacza, że sam system Android nie sprawdza elementów podczas instalacji, aby sprawdzić, czy urządzenie obsługuje odpowiednie parametry.

Jednak inne usługi, np. Google Play lub aplikacje, mogą sprawdzać deklaracje <supports-gl-texture> w ramach obsługi aplikacji lub interakcji z nią. Z tego powodu bardzo ważne jest zadeklarowanie wszystkich formatów kompresji tekstur z poniższej listy, które obsługuje Twoja aplikacja.

Aplikacje i urządzenia zwykle deklarują obsługiwane formaty kompresji tekstur GL, korzystając z poniższego zestawu znanych ciągów. W razie potrzeby zestaw ciągów formatów może się z czasem powiększyć. Ponieważ wartości to ciągi tekstowe, aplikacje mogą zadeklarować inne formaty w razie potrzeby.

Zakładając, że aplikacja została stworzona za pomocą SDK Platform Tools r3 lub wyższej, filtrowanie na podstawie elementu <supports-gl-texture> jest aktywowane dla wszystkich poziomów interfejsu API.

atrybuty:
android:name
Określa format kompresji tekstur pojedynczego GL obsługiwany przez aplikację jako ciąg deskryptora. Typowe wartości deskryptorów zostały wymienione w tabeli poniżej.
Deskryptor formatu kompresji tekstur Komentarze
GL_OES_compressed_ETC1_RGB8_texture Kompresja tekstur Ericssona. Określana w trybie OpenGL ES 2.0 i dostępna na wszystkich urządzeniach z Androidem, które obsługują OpenGL ES 2.0.
GL_OES_compressed_paletted_texture Ogólna kompresja paleta tekstur.
GL_AMD_compressed_3DC_texture Kompresja tekstur ATI 3Dc.
GL_AMD_compressed_ATC_texture Kompresja tekstur ATI. Dostępne na urządzeniach z GPU Adreno, w tym HTC Nexus One, Droid Incredible, EVO i innych. Aby zapewnić jak największą zgodność, urządzenia mogą też zadeklarować element <supports-gl-texture> z deskryptorem GL_ATI_texture_compression_atitc.
GL_EXT_texture_compression_latc Kompresja tekstur alfa luminancji.
GL_EXT_texture_compression_dxt1 Kompresja tekstury S3 DXT1. Ta funkcja jest obsługiwana na urządzeniach z platformą Nvidia Tegra2, w tym Motorala Xoom, Motorola Atrix, Droid Bionic i innych.
GL_EXT_texture_compression_s3tc Kompresja tekstur S3, niespecyficzna dla wersji DXT. Jest obsługiwane na urządzeniach z platformą Nvidia Tegra2, w tym Motorala Xoom, Motorola Atrix, Droid Bionic i innych. Jeśli Twoja aplikacja wymaga konkretnego wariantu DXT, zadeklaruj ten deskryptor zamiast tego.
GL_IMG_texture_compression_pvrtc Kompresja tekstur PowerVR. Dostępne na urządzeniach z procesorem PowerVR SGX530/540, m.in. Motorola DROID oraz Samsung Galaxy S, Nexus S i Galaxy Tab.
zobacz też:

Google Play i filtrowanie kompresji tekstur

Google Play filtruje aplikacje, które są widoczne dla użytkowników, tak aby użytkownicy mogli zobaczyć i pobrać tylko te aplikacje, które są zgodne z ich urządzeniami. Jednym ze sposobów filtrowania aplikacji jest zgodność z kompresją tekstur, co daje kontrolę nad dostępnością aplikacji na różnych urządzeniach w zależności od możliwości używanych przez nie GPU.

Aby określić zgodność kompresji tekstur aplikacji z urządzeniem danego użytkownika, Google Play porównuje te wyniki:

  • Formaty kompresji tekstur obsługiwane przez aplikację zgodnie z opisem w elementach <supports-gl-texture> w pliku manifestu.
  • Formaty kompresji tekstur obsługiwane przez GPU urządzenia. Urządzenie zgłasza formaty, które obsługuje, jako właściwości systemowe tylko do odczytu.

Za każdym razem, gdy przesyłasz aplikację do Konsoli Google Play, Google Play skanuje jej plik manifestu i szuka elementów <supports-gl-texture>. Wyodrębnia deskryptory formatu z elementów i zapisuje je wewnętrznie jako metadane powiązane z pakietem APK aplikacji i jej wersją.

Gdy użytkownik wyszukuje lub przegląda aplikacje w Google Play, usługa porównuje formaty kompresji tekstur obsługiwane przez aplikację z formatami obsługiwanymi przez urządzenie użytkownika. Porównanie opiera się na ciągach deskryptora formatu, a dopasowanie musi być ścisłe.

Jeśli urządzenie też obsługuje którykolwiek z formatów kompresji tekstur obsługiwanych w aplikacji, Google Play umożliwia użytkownikowi jej wyświetlenie i ewentualnie jej pobranie. Jeśli urządzenie nie obsługuje żadnego z formatów aplikacji, Google Play filtruje aplikację, aby nie była dostępna do pobrania.

Jeśli aplikacja nie deklaruje żadnych elementów <supports-gl-texture>, Google Play nie stosuje żadnych filtrów opartych na formacie kompresji tekstur GL.