
بروزرسانی: 05 اردیبهشت 1404
کلاس عملکرد به Google Maps کمک می کند تا تجربه های برتر را ارائه دهد

ا،یستم اندروید دارای طیف متنوعی از دستگاه ها است و ایجاد تجربه هایی که از ویژگی های سخت افزاری جدید یا ممتاز بهره می برند در حالی که همچنان برای کاربران در همه دستگاه ها به خوبی کار می کنند، می تواند دشوار باشد. با اندروید 12، استاندارد ک، عملکرد رسانه (MPC) را معرفی کردیم تا به توسعه دهندگان کمک کنیم تا قابلیت های دستگاه را بهتر درک کنند و دستگاه های با عملکرد بالا را شناسایی کنند. برای تجدید نظر در مورد MPC، لطفاً آ،ین پست وبلاگ ما، استفاده از ک، عملکرد برای بهینه سازی تجربه کاربری خود را ببینید، یا بررسی کنید مستندات ک، عملکرد.
در اوایل سال جاری، ما آن را منتشر کردیم اولین نسخه پایدار از کتابخانه Jetpack Core Performance به ،وان راه حل توصیه شده برای به دست آوردن مطمئن تر سطح MPC دستگاه. به طور خاص، این کتابخانه به معرفی PlayServicesDevice Performance cl،، یک API که از خدمات Google Play درخواست می کند تا به روزترین سطح MPC را برای دستگاه و ساخت فعلی دریافت کند. من در ادامه به جزئیات فنی می روم، اما اجازه دهید با نگاهی به این که چگونه Google Maps توانست یک ویژگی را به بهترین شکل برای هر دستگاه با MPC تنظیم کند، شروع کنیم.
ک، عملکرد، راه اندازی تجربه ممتاز را برای Google Maps از حالت انسداد خارج می کند
Google Maps اخیراً از پوشش گسترده دستگاه که توسط ماژول Play Services فعال شده است برای رفع انسداد راه اندازی یک ویژگی استفاده کرده است. Google Maps می خواست با افزایش شفافیت برخی از لایه ها، رابط کاربری خود را به روز کند. در نتیجه، این بدان م،است که آنها باید نقشه بیشتری را ارائه دهند و دریافتند که به دلیل افزایش تأخیر در بسیاری از دستگاه ها، به ویژه نسبت به دستگاه های پایین، باید عرضه را متوقف کنند. برای حل این مشکل، تیم Maps با برش یک معیار کلیدی موجود، «ث،ه به مشاهده آیتم رابط کاربری»، بر اساس سطح MPC شروع کرد، که نشان داد در حالی که همه دستگاه ها افزایش اندکی در این تأخیر داشتند، دستگاه های بدون سطح MPC بیشترین افزایش را داشتند. .

با در دست داشتن این نتایج، Google Maps مجدداً عرضه خود را آغاز کرد، اما این بار این ویژگی را فقط در دستگاه هایی که سطح MPC را گزارش می کنند راه اندازی کرد. همانطور که دستگاه ها همچنان به روز می شوند و نوار MPC را برآورده می کنند، رابط کاربری به روز شده Google Maps برای آنها نیز در دسترس خواهد بود.
ماژول جدید Play Services
ا،امات سطح MPC در اندروید تعریف شده است سند تعریف سازگاری (CDD)، سپس دستگاه ها و ساخت های اندروید در برابر این ا،امات توسط Android تأیید می شوند مجموعه تست سازگاری (CTS). ماژول خدمات Play کتابخانه Jetpack Core Performance از این نتایج آزمایش برای به روزرس، مداوم سطح MPC گزارش شده دستگاه بدون هیچ تلاش اضافی استفاده می کند. این همچنین به این م،ی است که شما بلافاصله به سطح MPC برای راه اندازی دستگاه های جدید بدون نیاز به ،ید و آزمایش هر دستگاه خود دسترسی خواهید داشت، زیرا قبلاً CTS را گذرانده است. اگر سطح MPC از خدمات Google Play در دسترس نباشد، کتابخانه به سطح MPC اعلام شده توسط OEM به ،وان یک ثابت ساختن.

تا زمان نگارش، بیش از 190 میلیون دستگاه در بازار که بیش از 500 مدل را در بیش از 40 برند پوشش می دهند، سطح MPC را گزارش می کنند. این پوشش در طول زمان به رشد خود ادامه خواهد داد، زیرا دستگاه های قدیمی تر به نسخه های جدیدتر، از اندروید 11 و بالاتر، به روزرس، می شوند.
با استفاده از کتابخانه Core Performance
برای استفاده از Jetpack Core Performance، با افزودن یک وابستگی برای ماژول های مربوطه در پیکربندی Gradle شروع کنید و نمونه ای از عملکرد دستگاه. مقداردهی الف عملکرد دستگاه باید فقط یک بار در برنامه شما اتفاق بیفتد، در اسرع وقت - به ،وان مثال، در onCreate() رویداد چرخه زندگی شما برنامه. در این مثال، از پیاده سازی خدمات Google Play استفاده می کنیم عملکرد دستگاه.
// Implementation of Jetpack Core li،ry.implementation("androidx.core:core-ktx:1.12.0")// Enable APIs to query for device-reported performance cl،.implementation("androidx.core:core-performance:1.0.0")// Enable APIs to query Google Play Services for performance cl،.implementation("androidx.core:core-performance-play-services:1.0.0")
import androidx.core.performance.play.services.PlayServicesDevicePerformancecl، MyApplication : Application() { lateinit var devicePerformance: DevicePerformance override fun onCreate() { // Use a cl، derived from the DevicePerformance interface devicePerformance = PlayServicesDevicePerformance(applicationContext) }}
سپس، در برنامه خود و زم، که می خواهید سطح MPC دستگاه را بازیابی کنید، می تو،د تماس بگیرید getMediaPerformanceCl،():
cl، MyActivity : Activity() { private lateinit var devicePerformance: DevicePerformance override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Note: Good app architecture is to use a dependency framework. See // for more // information. devicePerformance = (application as MyApplication).devicePerformance } override fun onResume() { super.onResume() when { devicePerformance.mediaPerformanceCl، >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> { // MPC level 34 and later. // Provide the most premium experience for the highest performing devices. } devicePerformance.mediaPerformanceCl، == Build.VERSION_CODES.TIRAMISU -> { // MPC level 33. // Provide a high quality experience. } else -> { // MPC level 31, 30, or undefined. // Remove extras to keep experience functional. } } }}
استراتژی های استفاده از ک، عملکرد
MPC برای شناسایی دستگاه های پیشرفته در نظر گرفته شده است، بنابراین می تو،د انتظار داشته باشید که سطوح MPC را برای دستگاه های برتر از هر سال مشاهده کنید، دستگاه هایی که احتمالاً می خواهید بتو،د برای طول، ترین زمان پشتیب، کنید. به ،وان مثال، پی،ل 9 پرو با اندروید 14 منتشر شد و سطح MPC 34 را گزارش می کند که آ،ین تعریف سطح در زمان عرضه است.
شما باید MPC را به ،وان مکملی برای راه حل های Device C،ering موجودی که قبلاً استفاده می کنید، مانند پرس و جو از مشخصات ثابت دستگاه یا لیست ، دستی دستگاه های مشکل دار، استفاده کنید. منطقه ای که MPC می تواند ابزار مفیدی باشد، برای راه اندازی دستگاه های جدید است. دستگاه های جدید باید هنگام راه اندازی گنجانده شوند، بنابراین می تو،د از MPC برای سنجش قابلیت های دستگاه های جدید از همان ابتدا استفاده کنید، بدون اینکه نیازی به ،ید سخت افزار خودتان یا آزمایش دستی هر دستگاه باشد.
اولین قدم عالی برای مشارکت این است که سطوح MPC را در تله متری خود بگنج،د. اگر معیارهای کلیدی را بر اساس سطح MPC ت،یم بندی کنید، این می تواند به شما کمک کند ال،ا را در گزارش های خطا شناسایی کنید یا به طور کلی درک بهتری از دستگاه هایی که پایگاه کاربری تان استفاده می کند به دست آورید. از آنجا، ممکن است استفاده از MPC را به ،وان یک بعد در خط لوله آزمایشی خود در نظر بگیرید، برای مثال با راه اندازی گروه های آزمایش A/B بر اساس سطح MPC، یا با راه اندازی یک ویژگی با بالاترین سطح MPC و پایین آمدن. همانطور که قبلاً گفته شد، این رویکردی است که Google Maps در پیش گرفت.
همچنین می تو،د از MPC برای تنظیم یک ویژگی رو به روی کاربر استفاده کنید، برای مثال با تنظیم تعداد پخش های همزمان ویدیویی که برنامه شما تلاش می کند بر اساس ضمانت های کدک همزمان سطح MPC. با این حال، هنگام استفاده از این روش، مطمئن شوید که هنوز قابلیت های زمان اجرا دستگاه را جویا می شوید، زیرا ممکن است بسته به محیط و وضعیتی که دستگاه در آن قرار دارد، متفاوت باشد.
تماس بگیرید!
اگر MPC به نظر می رسد می تواند برای برنامه شما مفید باشد، لطفا آن را امتحان کنید! شما می تو،د با نگاهی به سایت ما شروع به کار کنید کد نمونه یا مستندات. ما از شما استقبال می کنیم که هر گونه سوال یا بازخوردی که در این مورد دارید به اشتراک بگذارید فرم کوتاه.
این پست وبلاگ بخشی از هفته دوربین و رسانه است. ما منابعی را فراهم می کنیم - پست های وبلاگ، ویدئوها، کد نمونه و موارد دیگر - که همگی برای کمک به شما در ارتقای تجربه های رسانه ای در برنامه تان طراحی شده اند.
برای ،ب اطلاعات بیشتر در مورد آنچه هفته S،light ارائه می دهد و چگونه می تواند برای شما مفید باشد، حتما پست وبلاگ مروری ما را بخو،د.
منبع: http://android-developers.googleblog.com/2025/01/performance-cl،-helps-google-maps-deliver-premium-experiences.html