<supports-gl-texture>

Lưu ý: Google Play lọc ứng dụng theo định dạng nén kết cấu (texture compression) mà ứng dụng hỗ trợ, để người dùng chỉ có thể cài đặt những ứng dụng này trên thiết bị có thể xử lý đúng kết cấu tương ứng. Bạn có thể dùng cách lọc định dạng nén kết cấu để nhắm đến một số loại thiết bị cụ thể, dựa trên nền tảng GPU.

Để nắm được thông tin quan trọng về cách Google Play dùng phần tử <supports-gl-texture> làm cơ sở cho hoạt động lọc, hãy đọc phần Google Play và cách lọc định dạng nén kết cấu.

cú pháp:
<supports-gl-texture
  android:name="string" />
có trong:
<manifest>
mô tả:
Khai báo một định dạng nén kết cấu GL mà ứng dụng hỗ trợ.

Một ứng dụng sẽ "hỗ trợ" định dạng nén kết cấu GL nếu ứng dụng đó có thể cung cấp thành phần kết cấu được nén ở định dạng đó khi ứng dụng cài đặt trên thiết bị.

Ứng dụng cung cấp các thành phần được nén cục bộ, từ bên trong APK hoặc có thể tải các thành phần đó xuống từ máy chủ trong thời gian chạy.

Mỗi phần tử <supports-gl-texture> khai báo chính xác một định dạng nén kết cấu được hỗ trợ sẽ được xác định là giá trị của thuộc tính android:name. Nếu ứng dụng của bạn hỗ trợ nhiều định dạng nén kết cấu, thì bạn có thể khai báo nhiều phần tử <supports-gl-texture>:

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

Các phần tử <supports-gl-texture> chỉ để cho biết thông tin, tức là chính hệ thống Android sẽ không kiểm tra các phần tử đó tại thời điểm cài đặt để đảm bảo khả năng hỗ trợ phù hợp trên thiết bị.

Tuy nhiên, các dịch vụ (chẳng hạn như Google Play) hoặc ứng dụng khác có thể kiểm tra phần khai báo <supports-gl-texture> của ứng dụng trong quá trình xử lý hoặc tương tác với ứng dụng. Vì lý do này, việc khai báo tất cả định dạng nén kết cấu trong danh sách mà ứng dụng của bạn hỗ trợ là rất quan trọng.

Các ứng dụng và thiết bị thường khai báo các định dạng nén kết cấu GL được hỗ trợ bằng tập hợp các chuỗi phổ biến sau đây. Tập hợp chuỗi định dạng này có thể tăng theo thời gian, nếu cần. Vì giá trị là chuỗi nên ứng dụng có thể tự do khai báo các định dạng khác khi cần.

Giả sử ứng dụng được xây dựng bằng Bộ công cụ nền tảng SDK r3 (SDK Platform Tools r3) trở lên, thì quá trình lọc dựa trên phần tử <supports-gl-texture> sẽ được kích hoạt cho mọi cấp độ API.

thuộc tính:
android:name
Chỉ định một định dạng nén kết cấu GL mà ứng dụng hỗ trợ, dưới dạng chuỗi mã mô tả. Các giá trị phổ biến của mã mô tả được liệt kê trong bảng sau.
Mã mô tả định dạng nén kết cấu Chú thích
GL_OES_compressed_ETC1_RGB8_texture Nén kết cấu Ericsson. Được chỉ định trong OpenGL ES 2.0 và có trên tất cả thiết bị chạy Android hỗ trợ OpenGL ES 2.0.
GL_OES_compressed_paletted_texture Nén kết cấu có bảng màu chung.
GL_AMD_compressed_3DC_texture Nén kết cấu ATI 3Dc.
GL_AMD_compressed_ATC_texture Nén kết cấu ATI. Có trên các thiết bị chạy GPU Adreno, bao gồm cả HTC Nexus One, Droid Incredible, EVO, v.v. Để có khả năng tương thích rộng nhất, các thiết bị cũng có thể khai báo phần tử <supports-gl-texture> có mã mô tả GL_ATI_texture_compression_atitc.
GL_EXT_texture_compression_latc Nén kết cấu alpha độ chói.
GL_EXT_texture_compression_dxt1 Nén kết cấu S3 DXT1. Được hỗ trợ trên các thiết bị chạy nền tảng Nvidia Tegra2, bao gồm cả Motorala Xoom, Motorola Atrix, Droid Bionic và nhiều thiết bị khác.
GL_EXT_texture_compression_s3tc Nén kết cấu S3, không dành riêng cho biến thể DXT. Được hỗ trợ trên các thiết bị chạy nền tảng Nvidia Tegra2, bao gồm cả Motorala Xoom, Motorola Atrix, Droid Bionic và các thiết bị khác. Nếu ứng dụng của bạn yêu cầu một biến thể DXT cụ thể, hãy khai báo mã mô tả đó thay vì biến thể này.
GL_IMG_texture_compression_pvrtc Nén kết cấu PowerVR. Có trên các thiết bị chạy GPU PowerVR SGX530/540, chẳng hạn như dòng Motorola DROID, Samsung Galaxy S, Nexus S, Galaxy Tab và nhiều dòng khác.
xem thêm:

Google Play và cách lọc định dạng nén kết cấu

Google Play lọc ứng dụng mà người dùng thấy để họ chỉ có thể xem và tải các ứng dụng tương thích với thiết bị của họ xuống. Một trong những cách lọc ứng dụng của Google Play là xem xét khả năng tương thích định dạng nén kết cấu, cho phép bạn kiểm soát khả năng sử dụng của ứng dụng cho nhiều thiết bị, dựa trên khả năng của GPU của ứng dụng.

Để xác định khả năng tương thích định dạng nén kết cấu của một ứng dụng với thiết bị của một người dùng cụ thể, Google Play so sánh những thông tin sau:

  • Các định dạng nén kết cấu được ứng dụng hỗ trợ, như được khai báo trong các phần tử <supports-gl-texture> trong tệp kê khai.
  • Các định dạng nén kết cấu được GPU hỗ trợ trên thiết bị. Một thiết bị báo cáo các định dạng được hỗ trợ dưới dạng thuộc tính hệ thống chỉ có thể đọc.

Mỗi lần bạn tải một ứng dụng lên Google Play Console, Google Play sẽ quét tệp kê khai của ứng dụng đó và tìm mọi phần tử <supports-gl-texture>. Google Play trích xuất mã mô tả định dạng của các phần tử rồi lưu trữ cục bộ dưới dạng siêu dữ liệu liên kết với APK và phiên bản của ứng dụng.

Khi người dùng tìm kiếm hoặc duyệt xem ứng dụng trên Google Play, dịch vụ sẽ so sánh các định dạng nén kết cấu mà ứng dụng hỗ trợ với các định dạng nén mà thiết bị của người dùng hỗ trợ. Dữ liệu so sánh sẽ dựa trên chuỗi mã mô tả định dạng và kết quả trùng khớp phải chính xác.

Nếu thiết bị hỗ trợ một định dạng nén kết cấu bất kỳ của ứng dụng, thì Google Play sẽ cho phép người dùng thấy ứng dụng đó cũng như có thể tải ứng dụng đó xuống. Nếu thiết bị không hỗ trợ định dạng nào của ứng dụng, thì Google Play sẽ lọc ứng dụng đó ra để người dùng không thể tải xuống.

Nếu một ứng dụng không khai báo phần tử <supports-gl-texture> nào, thì Google Play sẽ không áp dụng bộ lọc dựa trên định dạng nén kết cấu GL.