Android 6.0 این فرصت را به شما می دهد تا مطمئن شوید برنامه های شما با نسخه بعدی پلتفرم کار می کنند. این نسخه شامل تعدادی از APIها و تغییرات رفتاری است که میتواند بر برنامه شما تأثیر بگذارد، همانطور که در بررسی اجمالی API و تغییرات رفتار توضیح داده شده است. در آزمایش برنامه خود با این نسخه، برخی تغییرات سیستمی خاص وجود دارد که باید روی آنها تمرکز کنید تا اطمینان حاصل کنید که کاربران تجربه خوبی دارند.
این راهنما نحوه و چگونگی آزمایش ویژگیهای Android 6.0 را با برنامه خود شرح میدهد. به دلیل تأثیر بالقوه بالای آنها بر رفتار برنامه شما، باید آزمایش این ویژگی های خاص را در اولویت قرار دهید:
مجوزهای تست
مدل مجوزهای جدید نحوه تخصیص مجوزها به برنامه شما توسط کاربر را تغییر می دهد. به جای اعطای همه مجوزها در طول مراحل نصب، برنامه شما باید در زمان اجرا از کاربر مجوزهای جداگانه بخواهد. برای کاربران، این رفتار کنترل دقیق تری بر فعالیت های هر برنامه و همچنین زمینه بهتری برای درک اینکه چرا برنامه درخواست مجوز خاص می کند، فراهم می کند. کاربران می توانند در هر زمانی مجوزهای اعطا شده به یک برنامه را به صورت جداگانه اعطا یا لغو کنند. این ویژگی نسخه به احتمال زیاد بر رفتار برنامه شما تأثیر می گذارد و ممکن است از عملکرد برخی از ویژگی های برنامه شما جلوگیری کند یا ممکن است در حالت تخریب شده کار کنند.
این تغییر روی همه برنامههایی که روی پلتفرم جدید اجرا میشوند، حتی برنامههایی که نسخه پلتفرم جدید را هدف قرار نمیدهند، تأثیر میگذارد. این پلتفرم رفتار سازگاری محدودی را برای برنامههای قدیمی ارائه میکند، اما شما باید از هم اکنون برنامهریزی انتقال برنامه خود را به مدل مجوزهای جدید با هدف انتشار نسخه بهروز شده برنامه خود در راهاندازی پلتفرم رسمی آغاز کنید.
نکات تست
از نکات تست زیر برای کمک به برنامه ریزی و اجرای آزمایش برنامه خود با رفتار مجوزهای جدید استفاده کنید.
- مجوزهای فعلی برنامه و مسیرهای کد مربوطه را شناسایی کنید.
- آزمایش جریان کاربر در سرویس ها و داده های محافظت شده با مجوز.
- تست با ترکیب های مختلف مجوز اعطا شده/لغو شده.
- از ابزار
adb
برای مدیریت مجوزها از خط فرمان استفاده کنید:- لیست مجوزها و وضعیت بر اساس گروه:
adb shell pm list permissions -d -g
- اعطا یا لغو یک یا چند مجوز با استفاده از نحو زیر:
adb shell pm [grant|revoke] <permission.name> ...
- لیست مجوزها و وضعیت بر اساس گروه:
- برنامه خود را برای خدماتی که از مجوزها استفاده می کنند، تجزیه و تحلیل کنید.
استراتژی تست
تغییر مجوزها بر ساختار و طراحی برنامه شما و همچنین تجربه کاربری و جریان هایی که به کاربران ارائه می دهید تأثیر می گذارد. باید میزان استفاده از مجوزهای فعلی برنامه خود را ارزیابی کنید و برای جریان های جدیدی که می خواهید ارائه دهید برنامه ریزی کنید. انتشار رسمی این پلتفرم رفتار سازگاری را ارائه می دهد، اما باید برای به روز رسانی برنامه خود برنامه ریزی کنید و به این رفتارها اعتماد نکنید.
مجوزهایی را که برنامه شما واقعاً به آن نیاز دارد و استفاده می کند، شناسایی کنید و سپس مسیرهای کد مختلفی را که از سرویس های محافظت شده با مجوز استفاده می کنند، بیابید. شما می توانید این کار را از طریق ترکیبی از آزمایش بر روی پلت فرم جدید و تجزیه و تحلیل کد انجام دهید. در آزمایش، باید با تغییر targetSdkVersion
برنامه به سطح API 23، روی انتخاب مجوزهای زمان اجرا تمرکز کنید.
آزمایش با ترکیبهای مختلفی از مجوزها لغو و اضافه شده، برای برجسته کردن جریانهای کاربر که به مجوزها بستگی دارد. در جایی که یک وابستگی واضح یا منطقی نیست، باید آن جریان را مجدداً یا تقسیم بندی کنید تا وابستگی را از بین ببرید یا روشن کنید که چرا به مجوز نیاز است.
برای اطلاعات بیشتر در مورد رفتار مجوزهای زمان اجرا، آزمایش، و بهترین شیوه ها، به توسعه دهنده مجوزهای سیستم کار کردن مراجعه کنید.
تست Doze و App Standby
ویژگیهای صرفهجویی در مصرف انرژی Doze و App Standby میزان پردازش پسزمینهای را که برنامه شما میتواند انجام دهد، زمانی که دستگاه در حالت آماده به کار است یا زمانی که برنامه شما در فوکوس نیست، محدود میکند. محدودیتهایی که ممکن است سیستم بر روی برنامهها اعمال کند شامل دسترسی محدود یا عدم دسترسی به شبکه، کارهای پسزمینه معلق، اعلانهای تعلیق شده، نادیدهگرفتن درخواستهای بیداری و زنگ هشدار است. برای اطمینان از اینکه برنامه شما با این بهینه سازی های صرفه جویی در مصرف انرژی درست عمل می کند، باید برنامه خود را با شبیه سازی این حالت های کم مصرف آزمایش کنید.
آزمایش برنامه خود با Doze
برای آزمایش Doze با برنامه خود:
- یک دستگاه سخت افزاری یا دستگاه مجازی را با تصویر سیستم Android نسخه 7.0 (سطح API 24) پیکربندی کنید.
- دستگاه را به دستگاه توسعه خود وصل کنید و برنامه خود را نصب کنید.
- برنامه خود را اجرا کنید و آن را فعال بگذارید.
- با اجرای دستورات زیر، ورود دستگاه به حالت Doze را شبیه سازی کنید:
$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step $ adb shell dumpsys deviceidle -h
- وقتی دستگاه دوباره فعال می شود، به رفتار برنامه خود توجه کنید. مطمئن شوید که وقتی دستگاه از Doze خارج می شود، به خوبی بازیابی می شود.
آزمایش برنامه ها با برنامه آماده به کار
برای آزمایش حالت آماده به کار برنامه با برنامه خود:
- یک دستگاه سخت افزاری یا دستگاه مجازی را با تصویر سیستم Android نسخه 7.0 (سطح API 24) پیکربندی کنید.
- دستگاه را به دستگاه توسعه خود وصل کنید و برنامه خود را نصب کنید.
- برنامه خود را اجرا کنید و آن را فعال بگذارید.
- با اجرای دستورات زیر، ورود برنامه به حالت آماده به کار را شبیه سازی کنید:
$ adb shell am broadcast -a android.os.action.DISCHARGING $ adb shell am set-idle <packageName> true
- بیدار کردن برنامه خود را با استفاده از دستور زیر شبیه سازی کنید:
$ adb shell am set-idle <packageName> false
- به رفتار برنامه خود در هنگام بیدار شدن توجه کنید. مطمئن شوید که به خوبی از حالت آماده به کار بازیابی می شود. به طور خاص، باید بررسی کنید که آیا اعلانها و کارهای پسزمینه برنامهتان همانطور که انتظار میرود کار میکنند یا خیر.
پشتیبانگیری خودکار برای برنامهها و شناسههای خاص دستگاه
اگر برنامه شما دارای شناسههای خاص دستگاه، مانند شناسه ثبت پیامرسانی Google Cloud، در حافظه داخلی است، مطمئن شوید که بهترین روشها را برای حذف مکان ذخیرهسازی از پشتیبانگیری خودکار، همانطور که در پشتیبانگیری از دادههای کاربر با پشتیبانگیری خودکار توضیح داده شده، دنبال میکنید.