وقتی یک APK آپلود میکنید، باید الزامات سطح API هدف Google Play را برآورده کند.
شروع از 31 آگوست 2024:
- برنامهها و بهروزرسانیهای برنامه جدید باید Android 14 (سطح API 34) یا بالاتر را هدف قرار دهند تا به Google Play ارسال شوند. به جز برنامههای Wear OS و Android TV که باید Android 13 (سطح API 33) یا بالاتر را هدف قرار دهند.
- برنامههای موجود باید Android 13 (سطح API 33) یا بالاتر را هدف قرار دهند تا در دستگاههای دارای سیستم عامل Android بالاتر از سطح API هدف برنامه شما در دسترس کاربران جدید باقی بمانند. برنامههایی که Android 12 (سطح API 31) یا پایینتر (Android 10 (سطح API 29) یا پایینتر برای Wear OS و Android 11 (سطح API 30) یا پایینتر برای Android TV را هدف قرار میدهند، فقط در دستگاههای دارای سیستمعامل Android در دسترس خواهند بود. یکسان یا کمتر از سطح API هدف برنامه شما هستند.
اگر به زمان بیشتری برای بهروزرسانی برنامه خود نیاز دارید، میتوانید درخواست تمدید تا 1 نوامبر 2024 کنید. اواخر سال جاری میتوانید به فرمهای برنامه افزودنی در Play Console دسترسی پیدا کنید.
استثناهای این الزامات عبارتند از:
- برنامههای خصوصی دائمی که محدود به کاربران یک سازمان خاص هستند و فقط برای توزیع داخلی در نظر گرفته شدهاند.
- برنامههایی که سیستمعامل Android Automotive را هدف قرار میدهند یا با فایلهای APK بستهبندی شدهاند که سیستمعامل Android Automotive را هدف قرار میدهند.
چرا SDK های جدیدتر را هدف قرار دهید؟
هر نسخه جدید اندروید تغییراتی را ارائه میکند که امنیت و عملکرد را بهبود میبخشد و تجربه کاربر اندروید را افزایش میدهد. برخی از این تغییرات فقط برای برنامههایی اعمال میشود که صریحاً از طریق مشخصه مانیفست targetSdkVersion
خود (همچنین به عنوان سطح API هدف شناخته میشود) پشتیبانی را اعلام میکنند.
پیکربندی برنامه شما برای هدف قرار دادن سطح API اخیر تضمین می کند که کاربران می توانند از این پیشرفت ها بهره مند شوند، در حالی که برنامه شما همچنان می تواند در نسخه های قدیمی Android اجرا شود. هدف قرار دادن یک سطح API اخیر همچنین به برنامه شما اجازه می دهد تا از آخرین ویژگی های پلتفرم استفاده کند تا کاربران شما را خوشحال کند. علاوه بر این، از اندروید 10 (سطح API 29)، اگر برنامه اندروید 5.1 (سطح API 22) یا پایینتر را هدف قرار دهد، وقتی برای اولین بار یک برنامه را شروع میکنند، یک هشدار مشاهده میکنند .
این سند نکات مهمی را که باید در بهروزرسانی سطح API هدف خود برای برآورده کردن نیاز Google Play بدانید، برجسته میکند. بسته به اینکه به کدام نسخه مهاجرت می کنید، دستورالعمل های بخش های زیر را ببینید.
از Android 12 و بالاتر (سطح API 31) به نسخه جدیدتر مهاجرت کنید
برای به روز رسانی برنامه خود برای هدف قرار دادن نسخه جدیدتر Android، لیست تغییرات رفتار مربوطه را دنبال کنید:
انتقال از Android 11 (سطح API 30) به Android 12 (سطح API 31)
امنیت و مجوزها
- بلوتوث : باید اعلانهای مجوزهای
BLUETOOTH
وBLUETOOTH_ADMIN
را با مجوزهایBLUETOOTH_SCAN
،BLUETOOTH_ADVERTISE
، یاBLUETOOTH_CONNECT
جایگزین کنید. دیگر نیازی به درخواست مجوز زمان اجراLOCATION
برای عملیات بلوتوث ندارید. - مکان: کاربران می توانند از برنامه ها درخواست کنند که فقط اطلاعات موقعیت مکانی تقریبی را بازیابی کنند. هر زمان که درخواست کردید
ACCESS_FINE_LOCATION
باید مجوزACCESS_COARSE_LOCATION
را درخواست کنید.- فیلترهای هدف: اگر برنامه شما دارای فعالیتها ، سرویسها یا گیرندههای پخشی است که از فیلترهای هدف استفاده میکنند، باید مشخصه android:exported را برای این مؤلفهها به صراحت اعلام کنید.
- Hibernation: اگر برنامهها در مدت زمان معینی از آنها استفاده نشوند، ممکن است در حالت خواب زمستانی قرار بگیرند. در حالت Hibernation، مجوزهای زمان اجرا و حافظه پنهان برنامه شما بازنشانی می شود و نمی توانید کارها یا هشدارها را اجرا کنید. می توانید وضعیت خواب زمستانی برنامه خود را بررسی کنید.
- تغییرپذیری intent در انتظار : باید تغییرپذیری هر شی PendingIntent را که برنامه شما ایجاد میکند مشخص کنید.
تجربه کاربری
- اعلانهای سفارشی : اعلانهایی با نمایش محتوای سفارشی دیگر از منطقه اعلان کامل استفاده نمیکنند. در عوض، سیستم یک الگوی استاندارد را اعمال می کند. این الگو تضمین میکند که اعلانهای سفارشی مانند سایر اعلانها در همه ایالتها تزئین میشوند. این رفتار تقریباً مشابه رفتار
Notification.DecoratedCustomViewStyle
است. - تغییرات تأیید صحت پیوندهای برنامه Android : هنگام استفاده از تأیید صحت پیوند برنامه Android، مطمئن شوید که فیلترهای هدف شما شامل دسته BROWSABLE هستند و از طرح HTTPS پشتیبانی می کنند.
عملکرد
محدودیتهای راهاندازی سرویس پیشزمینه : برای هدف قرار دادن Android 12 یا بالاتر، برنامه شما نمیتواند خدمات پیشزمینه را در حالی که در پسزمینه اجرا میشود راهاندازی کند، به جز چند مورد خاص. اگر برنامه ای سعی کند یک سرویس پیش زمینه را در حالی که در پس زمینه اجرا می شود راه اندازی کند، یک استثنا رخ می دهد (به جز چند مورد خاص).
استفاده از WorkManager را برای زمانبندی و شروع کار سریع در حالی که برنامه شما در پسزمینه اجرا میشود، در نظر بگیرید. برای تکمیل اقدامات حساس به زمان که کاربر درخواست می کند، خدمات پیش زمینه را در یک زنگ دقیق شروع کنید.
محدودیتهای ترامپولین اعلان : وقتی کاربران روی اعلانها ضربه میزنند، برخی از برنامهها با راهاندازی یک مؤلفه برنامه پاسخ میدهند که فعالیتی را که کاربر میبیند و با آن تعامل دارد، شروع میکند. این جزء برنامه به عنوان یک ترامپولین اعلان شناخته می شود.
برنامهها نباید فعالیتها را از سرویسها یا گیرندههای پخشی که به عنوان ترامپولین اعلان استفاده میشوند شروع کنند. پس از ضربه زدن کاربر بر روی دکمه اعلان یا اقدام در اعلان، برنامه شما نمی تواند
startActivity()
در داخل یک سرویس یا گیرنده پخش فراخوانی کند.
مجموعه کامل تغییراتی را که بر برنامههای هدفمند Android 12 تأثیر میگذارد (سطح API 31) مشاهده کنید.
مهاجرت از پایینتر از Android 11 (سطح API 30)
نسخه اندرویدی که از آن مهاجرت خواهید کرد را انتخاب کنید:
انتقال به Android 5 (سطح API 21)
صفحه تغییرات رفتار مربوطه را برای هر یک از نسخههای زیر ببینید تا مطمئن شوید که برنامهتان تغییرات ارائهشده در این نسخهها را در نظر گرفته است:
با دنبال کردن دستورالعمل های بخش بعدی ادامه دهید.
انتقال به Android 6 (سطح API 23)
ملاحظات زیر برای برنامههایی که اندروید 6.0 و نسخههای بالاتر این پلتفرم را هدف قرار میدهند اعمال میشود:
مجوزهای خطرناک فقط در زمان اجرا اعطا می شوند. جریان های رابط کاربری شما باید امکاناتی را برای اعطای این مجوزها فراهم کنند.
در صورت امکان، اطمینان حاصل کنید که برنامه شما برای رسیدگی به رد درخواستهای مجوز آماده است. برای مثال، اگر کاربری درخواست دسترسی به GPS دستگاه را رد کرد، مطمئن شوید که برنامه شما راه دیگری برای ادامه دارد.
برای فهرست جامعی از تغییرات ارائه شده در Android 6.0 (سطح API 23)، به صفحه تغییرات رفتار مربوط به آن نسخه از پلتفرم مراجعه کنید.
با دنبال کردن دستورالعمل های بخش بعدی ادامه دهید.
انتقال به Android 7 (سطح API 24)
ملاحظات زیر برای برنامههایی که اندروید 7.0 و نسخههای بالاتر این پلتفرم را هدف قرار میدهند اعمال میشود:
Doze و App Standby
طراحی برای رفتارهایی که در Optimizing for Doze و App Standby توضیح داده شده است، که شامل تغییرات افزایشی است که در چندین نسخه پلتفرم ارائه شده است.
وقتی دستگاهی در حالت Doze و App Standby است، سیستم به صورت زیر عمل می کند:
- دسترسی به شبکه را محدود می کند
- هشدارها، همگامسازیها و کارها را به تعویق میاندازد
- اسکن GPS و Wi-Fi را محدود می کند
- پیامهای Firebase Cloud Messaging با اولویت عادی را محدود میکند.
تغییرات مجوز
- این سیستم دسترسی به فهرست های خصوصی برنامه ها را محدود می کند.
- افشای یک
file://
URI در خارج از برنامه شما باعث ایجاد یکFileUriExposedException
می شود. اگر نیاز به اشتراک گذاری فایل های خارج از برنامه خود دارید،FileProvider
پیاده سازی کنید
این سیستم پیوند به کتابخانه های غیر NDK را ممنوع می کند .
برای فهرست جامعی از تغییرات ارائه شده در Android 7.0 (سطح API 24)، به صفحه تغییرات رفتار مربوط به آن نسخه از پلتفرم مراجعه کنید.
با دنبال کردن دستورالعمل های بخش بعدی ادامه دهید.
انتقال به Android 8 (سطح API 26)
ملاحظات زیر برای برنامههایی که اندروید 8.0 و نسخههای بالاتر این پلتفرم را هدف قرار میدهند اعمال میشود:
- محدودیت های اجرای پس زمینه
- این سیستم خدمات را برای برنامه هایی که در پیش زمینه اجرا نمی شوند محدود می کند.
-
startService()
اکنون زمانی که یک برنامه سعی می کند آن را فراخوانی کند در حالی کهstartService()
ممنوع است، یک استثنا ایجاد می کند. - برای شروع خدمات پیش زمینه، یک برنامه باید از
startForeground()
وstartForegroundService()
استفاده کند. - همانطور که در صفحه تغییرات رفتار Android 8.0 (سطح API 26) مستند شده است، تغییرات ایجاد شده در JobScheduler API را به دقت بررسی کنید.
- Firebase Cloud Messaging به نسخه 10.2.1 SDK خدمات Google Play یا بالاتر نیاز دارد.
- هنگام استفاده از Firebase Cloud Messaging ، تحویل پیام مشمول محدودیتهای اجرای پسزمینه است. هنگامی که کار پسزمینه پس از دریافت پیام ضروری است، مانند انجام همگامسازی دادههای پسزمینه، برنامه شما باید به جای آن، کارها را با استفاده از Firebase Job Dispatcher یا JobIntentService زمانبندی کند. برای اطلاعات بیشتر، به مستندات Firebase Cloud Messaging مراجعه کنید.
-
- پخش های ضمنی
- پخش ضمنی محدود شده است. برای اطلاعات در مورد مدیریت رویدادهای پسزمینه، به اسناد مربوط به
JobScheduler
API مراجعه کنید.
- پخش ضمنی محدود شده است. برای اطلاعات در مورد مدیریت رویدادهای پسزمینه، به اسناد مربوط به
- محدودیت های موقعیت مکانی پس زمینه
- برنامههایی که در پسزمینه اجرا میشوند، دسترسی محدودی به دادههای مکان دارند.
- در دستگاههای دارای سرویسهای Google Play، از ارائهدهنده مکان ترکیبی برای دریافت بهروزرسانیهای مکان دورهای استفاده کنید.
- برنامههایی که در پسزمینه اجرا میشوند، دسترسی محدودی به دادههای مکان دارند.
- این سیستم خدمات را برای برنامه هایی که در پیش زمینه اجرا نمی شوند محدود می کند.
- کانال های اطلاع رسانی
- شما باید ویژگی های وقفه اعلان را بر اساس هر کانال تعریف کنید.
- باید اعلانها را به یک کانال اختصاص دهید تا اعلانها ظاهر شوند.
- این نسخه از پلتفرم از
NotificationCompat.Builder
پشتیبانی می کند.
- حریم خصوصی
- ANDROID_ID بر اساس کلید امضای برنامه مشخص میشود.
برای فهرست کاملی از تغییرات ارائه شده در Android 8.0 (سطح API 26)، به صفحه تغییرات رفتار مربوط به آن نسخه از پلتفرم مراجعه کنید.
انتقال از Android 8 (API 26) به Android 9 (API 28)
- مدیریت نیرو
- سطلهای آماده به کار برنامه محدودیتهای پسزمینه جدیدی را بر اساس تعامل با برنامه ایجاد میکنند، مانند کارهای معوق، هشدارها و سهمیهبندی در پیامهای با اولویت بالا.
- بهبودهای صرفه جویی در باتری ، محدودیت های برنامه های آماده به کار برنامه را افزایش می دهد
- مجوز خدمات پیش زمینه
- نیاز به درخواست مجوز معمولی
FOREGROUND_SERVICE
(نه مجوز زمان اجرا)
- نیاز به درخواست مجوز معمولی
- حریم خصوصی تغییر می کند
- دسترسی محدود به حسگرهای پس زمینه
- دسترسی محدود به گزارش تماسها، اکنون در گروه مجوز
CALL_LOG
است - دسترسی محدود به شماره تلفن، نیاز به مجوز
READ_CALL_LOG
- دسترسی محدود به اطلاعات Wi-Fi
برای فهرست جامعی از تغییرات ارائه شده در Android 9.0 (سطح API 28)، به تغییرات رفتار مراجعه کنید.
انتقال از Android 9 (سطح API 28) به Android 10 (سطح API 29)
- اعلان هایی با هدف تمام صفحه
- نیاز به درخواست مجوز معمولی
USE_FULL_SCREEN_INTENT
(نه مجوز زمان اجرا).
- نیاز به درخواست مجوز معمولی
- پشتیبانی از دستگاه های تاشو و صفحه نمایش بزرگ
- اکنون میتوانند همزمان چندین فعالیت را در حالت «ازسرگیری» قرار دهند، اما در واقع فقط یکی از آنها تمرکز دارد.
- این تغییر روی رفتار
onResume()
وonPause()
تاثیر می گذارد. - مفهوم چرخه حیات جدید "Topmost Resumed" که با عضویت در
onTopResumedActivityChanged()
قابل شناسایی است.- فقط یک فعالیت را می توان "بالاترین از سرگیری" کرد.
- این تغییر روی رفتار
- هنگامی که
resizeableActivity
رویfalse
تنظیم شده است، برنامهها میتوانند بهعلاوه یکminAspectRatio
را تعیین کنند که بهطور خودکار برنامه را با نسبتهای باریکتر جعبه نامه میکند.
- اکنون میتوانند همزمان چندین فعالیت را در حالت «ازسرگیری» قرار دهند، اما در واقع فقط یکی از آنها تمرکز دارد.
- حریم خصوصی تغییر می کند
- فضای ذخیره سازی
- دسترسی به فضای ذخیرهسازی خارجی فقط به یک فهرست خاص برنامه و به انواع خاصی از رسانههایی که برنامه ایجاد کرده است محدود میشود.
- دسترسی به موقعیت مکانی محدود شده در حالی که برنامه در پسزمینه است، به مجوز
ACCESS_BACKGROUND_LOCATION
نیاز دارد. - دسترسی محدود به شناسه های غیر قابل تنظیم مجدد مانند IMEI و شماره سریال.
- دسترسی محدود به اطلاعات فعالیت بدنی مانند تعداد گامهای کاربر که به مجوز
ACTIVITY_RECOGNITION
نیاز دارد. - دسترسی محدود به برخی از APIهای تلفن، بلوتوث و Wi-Fi که به مجوز
ACCESS_FINE_LOCATION
نیاز دارد. - دسترسی به تنظیمات Wi-Fi محدود شده است
- برنامهها دیگر نمیتوانند مستقیماً Wi-Fi را فعال یا غیرفعال کنند و باید این کار را با استفاده از پانلهای تنظیمات انجام دهند.
- محدودیتهایی برای شروع اتصال به یک شبکه Wi-Fi که نیاز به استفاده از
WifiNetworkSpecifier
یاWifiNetworkSuggestion
دارد.
- فضای ذخیره سازی
انتقال از Android 10 (سطح API 29) به Android 11 (سطح API 30)
- حریم خصوصی
- اجرای فضای ذخیرهسازی محدوده : برنامهها باید مدل فضای ذخیرهسازی محدودهای را اتخاذ کنند که در آن انواع فایل، رسانه، و سایر فایلهای خاص برنامه ذخیره شده و با استفاده از مکانهای اختصاصی قابل دسترسی هستند.
- بازنشانی خودکار مجوزها : اگر کاربران برای چند ماه با یک برنامه تعامل نداشته باشند، سیستم به طور خودکار مجوزهای حساس برنامه را بازنشانی می کند. این نباید روی اکثر برنامه ها تأثیر بگذارد. اگر برنامه شما عمدتاً در پسزمینه بدون تعامل کاربر کار میکند، میتوانید از کاربران درخواست کنید که بازنشانی خودکار را غیرفعال کنند.
- دسترسی به موقعیت مکانی پسزمینه : برنامهها باید مجوز موقعیت مکانی پیشزمینه و پسزمینه را جداگانه درخواست کنند. اعطای مجوز به موقعیت مکانی پسزمینه فقط در تنظیمات برنامه به جای گفتگوهای مجوز زمان اجرا انجام میشود .
- قابلیت مشاهده بسته : هنگامی که یک برنامه برای لیست برنامه ها و سرویس های نصب شده روی دستگاه جستجو می کند، لیست برگشتی فیلتر می شود.
- اگر از سرویسهای تبدیل متن به گفتار یا تشخیص گفتار استفاده میکنید، باید عناصر جستجو برای سرویسها را به فایل مانیفست اضافه کنید.
- امنیت
- فایلهای فشرده «resource.arsc» دیگر پشتیبانی نمیشوند
- APK Signature Scheme v2 اکنون مورد نیاز است. به دلایل سازگاری با عقب، توسعه دهندگان همچنین باید به امضای APK Signature Scheme v1 ادامه دهند.
- محدودیت رابط غیر SDK. استفاده از رابط های غیر SDK برای برنامه هایی که سطح API 30 را هدف قرار می دهند توصیه نمی شود، زیرا برخی از این رابط های غیر SDK اکنون مسدود شده اند. برای فهرست جامعی از رابطهای غیر SDK مسدود شده، رابطهای غیر SDK را که اکنون در Android 11 مسدود شدهاند، ببینید.
برای فهرست جامعی از تغییرات معرفی شده در اندروید 11 (سطح API 30)، به صفحه تغییرات رفتار مراجعه کنید.
با دنبال کردن دستورالعملهای بخش قبلی، به بهروزرسانی به API 31 ادامه دهید.
برنامه های خود را مدرن کنید
همانطور که سطح API هدف را برای برنامههای خود بهروزرسانی میکنید، ویژگیهای پلتفرم اخیر را برای مدرن کردن برنامهها و خوشحال کردن کاربران خود در نظر بگیرید.
- برای استفاده حداکثری از دوربین، از CameraX که در نسخه بتا است استفاده کنید.
- از اجزای Jetpack استفاده کنید تا به شما کمک کند بهترین شیوه ها را دنبال کنید، شما را از نوشتن کد دیگ بخار رها کنید، و کارهای پیچیده را ساده کنید تا بتوانید روی کدی که به آن اهمیت می دهید تمرکز کنید.
- از Kotlin برای نوشتن برنامه های بهتر سریعتر و با کد کمتر استفاده کنید.
- اطمینان حاصل کنید که الزامات حفظ حریم خصوصی و بهترین شیوه ها را دنبال می کنید.
- پشتیبانی از تم تیره را به برنامه های خود اضافه کنید.
- پشتیبانی از پیمایش حرکتی را به برنامه های خود اضافه کنید.
- برنامه خود را از Google Cloud Messaging (GCM) به آخرین نسخه Firebase Cloud Messaging منتقل کنید .
- از مدیریت پیشرفته پنجره بهره ببرید.
- از نسبت های بزرگتر (بیش از 16:9) پشتیبانی کنید تا از پیشرفت های اخیر در سخت افزار استفاده کنید. اطمینان حاصل کنید که اندازه برنامه شما برای پر کردن فضای صفحه نمایش موجود تغییر می کند. فقط حداکثر نسبت تصویر را به عنوان آخرین راه حل اعلام کنید. برای اطلاعات بیشتر درباره حداکثر نسبت ابعاد، به اعلام پشتیبانی محدود از صفحه مراجعه کنید.
- برای کمک به افزایش بهره وری برنامه خود و مدیریت نمایشگرهای متعدد ، پشتیبانی چند پنجره ای را اضافه کنید.
- اگر یک تجربه کوچک برنامه عالی باعث بهبود تجربه کاربر میشود، پشتیبانی از Picture-in-Picture را اضافه کنید.
- بهینه سازی برای دستگاه های دارای بریدگی نمایشگر.
- ارتفاع نوار وضعیت را فرض نکنید. در عوض، از
WindowInsets
وView.OnApplyWindowInsetsListener
استفاده کنید. برای کسب اطلاعات بیشتر، ویدیوی droidcon NYC 2017 را ببینید. برای توضیح - تصور نکنید که برنامه کل پنجره را دارد. در عوض، مکان آن را با استفاده از
View.getLocationInWindow()
و نهView.getLocationOnScreen()
تایید کنید. * هنگام مدیریتMotionEvent
، ازMotionEvent.getX()
وMotionEvent.getY()
استفاده کنید، نهMotionEvent.getRawX()
،MotionEvent.getRawY()
.
SDK ها و کتابخانه های خود را بررسی و به روز کنید
مطمئن شوید که وابستگیهای SDK شخص ثالث شما از API 31 پشتیبانی میکنند: برخی از ارائهدهندگان SDK آن را در مانیفست خود منتشر میکنند. بقیه به بررسی بیشتر نیاز دارند. اگر از SDK استفاده میکنید که از API 31 پشتیبانی نمیکند، برای حل مشکل، کار با ارائهدهنده SDK را در اولویت قرار دهید.
علاوه بر این، توجه داشته باشید که برنامه یا بازی شما targetSdkVersion
ممکن است دسترسی به کتابخانه های پلتفرم خصوصی اندروید را محدود کند. برای جزئیات بیشتر ، پیوند برنامههای NDK به کتابخانههای پلتفرم را ببینید.
همچنین باید هرگونه محدودیتی را که ممکن است در نسخه کتابخانه پشتیبانی Android که استفاده میکنید وجود داشته باشد تأیید کنید. مثل همیشه، باید از سازگاری بین نسخه اصلی کتابخانه پشتیبانی Android و compileSdkVersion
برنامه خود اطمینان حاصل کنید.
توصیه می کنیم یک targetSdkVersion
کوچکتر یا مساوی با نسخه اصلی کتابخانه پشتیبانی انتخاب کنید. ما شما را تشویق میکنیم که بهمنظور استفاده از آخرین ویژگیهای سازگاری و رفع اشکالها، به کتابخانه پشتیبانی سازگار اخیر بهروزرسانی کنید.
اپلیکیشن خود را تست کنید
پس از بهروزرسانی سطح و ویژگیهای API برنامهتان، باید برخی موارد استفاده اصلی را آزمایش کنید. پیشنهادات زیر جامع نیستند، اما هدفشان هدایت فرآیند تست شماست. ما آزمایش را پیشنهاد می کنیم:
- که برنامه شما بدون خطا یا اخطار در API 29 کامپایل می شود.
اینکه برنامه شما برای مواردی که کاربر درخواستهای مجوز را رد میکند و از کاربر درخواست مجوز میکند، استراتژی دارد. برای انجام این کار:
- به صفحه اطلاعات برنامه برنامه خود بروید و هر مجوز را غیرفعال کنید.
- برنامه را باز کنید و مطمئن شوید که هیچ خرابی ندارد.
- آزمایشهای مورد استفاده اصلی را انجام دهید و اطمینان حاصل کنید که مجوزهای مورد نیاز مجدداً درخواست میشوند.
Doze را با نتایج مورد انتظار و بدون خطا کنترل می کند.
- با استفاده از adb، دستگاه آزمایشی خود را در حین اجرای برنامه در Doze قرار دهید.
- موارد استفاده که باعث ایجاد پیامهای Firebase Cloud Messaging میشوند را آزمایش کنید.
- موارد استفاده که از هشدارها یا مشاغل استفاده می کنند را آزمایش کنید.
- هرگونه وابستگی به خدمات پس زمینه را حذف کنید.
- برنامه خود را در حالت App Standby قرار دهید
- موارد استفاده که باعث ایجاد پیامهای Firebase Cloud Messaging میشوند را آزمایش کنید.
- موارد استفاده ای که از هشدارها استفاده می کنند را آزمایش کنید.
- با استفاده از adb، دستگاه آزمایشی خود را در حین اجرای برنامه در Doze قرار دهید.
عکسها/فیلمهای جدید در حال گرفتن را کنترل میکند
- بررسی کنید که برنامه شما پخشهای محدود شده
ACTION_NEW_PICTURE
وACTION_NEW_VIDEO
را به درستی انجام دهد (یعنی به کارهای JobScheduler منتقل شده است). - اطمینان حاصل کنید که هر مورد استفاده حیاتی که به این رویدادها بستگی دارد همچنان کار می کند.
- بررسی کنید که برنامه شما پخشهای محدود شده
به اشتراک گذاری فایل ها با برنامه های دیگر را مدیریت می کند - هر موردی را که داده های فایل را با هر برنامه دیگری به اشتراک می گذارد (حتی برنامه دیگری توسط همان توسعه دهنده) آزمایش کنید.
- آزمایش کنید محتوا در برنامه دیگر قابل مشاهده است و باعث خرابی نمی شود.
اطلاعات بیشتر
ایمیلهای موجود در کنسول Google Play را انتخاب کنید تا بتوانیم بهروزرسانیها و اعلانهای مهم را از Android و Google Play، از جمله خبرنامه شریک ماهانهمان، برای شما ارسال کنیم.