توجه: Google Play برنامهها را با توجه به فرمتهای فشردهسازی بافتی که پشتیبانی میکنند فیلتر میکند تا فقط روی دستگاههایی نصب شوند که بتوانند بافتهای خود را به درستی مدیریت کنند. شما می توانید از فیلتر فشرده سازی بافت به عنوان راهی برای هدف قرار دادن انواع دستگاه های خاص بر اساس پلت فرم GPU استفاده کنید.
برای اطلاعات مهم در مورد نحوه استفاده 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 r3 یا بالاتر ساخته شده است، فیلتر بر اساس عنصر
<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 مانند سری DROID موتورولا موجود است. Samsung Galaxy S، Nexus S و Galaxy Tab؛ و دیگران
-
- همچنین ببینید:
- فرمت های فشرده سازی بافت که توسط برنامه پشتیبانی می شوند، همانطور که در عناصر
<supports-gl-texture>
در مانیفست آن اعلام شده است. - فرمت های فشرده سازی بافت که توسط GPU روی دستگاه پشتیبانی می شوند. یک دستگاه فرمت هایی را که پشتیبانی می کند به عنوان ویژگی های سیستم فقط خواندنی گزارش می دهد.
Google Play و فیلتر فشرده سازی بافت
Google Play برنامه هایی را که برای کاربران قابل مشاهده است فیلتر می کند تا کاربران بتوانند تنها برنامه هایی را ببینند و دانلود کنند که با دستگاه های آنها سازگار است. یکی از راههایی که برنامهها را فیلتر میکند، سازگاری با فشردهسازی بافت است که به شما امکان کنترل در دسترس بودن برنامهتان را برای دستگاههای مختلف بر اساس قابلیتهای GPU آنها میدهد.
برای تعیین سازگاری فشرده سازی بافت برنامه با دستگاه کاربر معین، Google Play موارد زیر را مقایسه می کند:
هر بار که برنامه ای را در کنسول Google Play آپلود می کنید، Google Play فایل مانیفست برنامه را اسکن می کند و هر عنصر <supports-gl-texture>
را جستجو می کند. توصیفگرهای قالب را از عناصر استخراج می کند و آنها را به عنوان متا داده مرتبط با APK برنامه و نسخه برنامه ذخیره می کند.
هنگامی که کاربر برنامههایی را در Google Play جستجو یا مرور میکند، این سرویس فرمتهای فشردهسازی بافت پشتیبانی شده توسط برنامه را با قالبهای پشتیبانی شده توسط دستگاه کاربر مقایسه میکند. مقایسه بر اساس رشته های توصیفگر قالب است و تطابق باید دقیق باشد.
اگر هر یک از فرمتهای فشردهسازی بافت پشتیبانیشده توسط دستگاه نیز پشتیبانی میشود، Google Play به کاربر اجازه میدهد برنامه را ببیند و احتمالاً آن را دانلود کند. اگر هیچ یک از قالب های برنامه توسط دستگاه پشتیبانی نمی شود، Google Play برنامه را فیلتر می کند تا برای دانلود در دسترس نباشد.
اگر برنامهای هیچ عنصر <supports-gl-texture>
را اعلام نکند، Google Play هیچ فیلتری بر اساس قالب فشردهسازی بافت GL اعمال نمیکند.