برای ایجاد یک پایه محکم برای یک برنامه با کیفیت، دستورالعملهای اصلی کیفیت برنامه را دنبال کنید.
این دستورالعملها حداقل کیفیتی را که همه برنامهها باید داشته باشند، تعریف میکنند.
کیفیت تطبیقی برنامه
برنامههای اندروید روی طیف گستردهای از دستگاهها اجرا میشوند - از تلفنهای جمعوجور گرفته تا تبلتها، دستگاههای تاشو، دسکتاپها، نمایشگرهای متصل، سیستمهای سرگرمی خودرو، تلویزیون و واقعیت افزوده. حالتهای پنجرهای مانند تقسیم صفحه و پنجرهای کردن دسکتاپ، برنامهها را قادر میسازد تا در بخشهای قابل تغییر اندازه صفحه اجرا شوند.
دستورالعملهای کیفیت برنامه تطبیقی - همراه با دستورالعملهای کیفیت اصلی برنامه - را دنبال کنید تا:
- برنامههایی بسازید که برای همه فرم فاکتورها و اندازههای صفحه نمایش بهینه شده باشند
- رتبه برنامههای خود را در فهرستها و جستجوهای گوگل پلی بالاتر ببرید
- کاربران بیشتری جذب کنید و نرخ حفظ کاربر را افزایش دهید
دستورالعملها
دستورالعملهای اصلی زیر به شما کمک میکنند تا یک برنامهی پایه و با کیفیت بالا بسازید.
تجربه کاربری
الگوهای استاندارد طراحی بصری و تعاملی اندروید، یک تجربه کاربری منسجم و شهودی را ارائه میدهند.
در صورت امکان، به جای اجزای پلتفرم اندروید، از اجزای طراحی متریال برای ایجاد رابط کاربری برنامه خود استفاده کنید. طراحی متریال، ظاهر و حس مدرن اندروید را به همراه سازگاری رابط کاربری در نسخههای مختلف اندروید فراهم میکند.
قابلیت استفاده
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| تجربه کاربری سازگار | تجربه کاربری سازگار با تی ، کارت حافظه T-SD | اپلیکیشن، تجربه کاربری ثابتی را برای همه موارد استفاده از اپلیکیشن در همه فرم فاکتورها فراهم میکند. |
| تعویض برنامه | تی-اپ_سوئیچر ، کارت حافظه T-SD | وقتی فوکوس روی برنامه دیگری تغییر میکند، برنامه به پسزمینه میرود. وقتی از طریق تعویض برنامه اخیر دوباره فعال شود، به پیشزمینه برمیگردد. |
| خواب_رزومه | رزومه خواب-تی ، کارت حافظه T-SD | وقتی برنامه در پیشزمینه باشد، وقتی دستگاه به خواب میرود، متوقف میشود و وقتی دستگاه بیدار میشود، دوباره اجرا میشود. |
| قفل_رزومه | قفل تی_رزومه ، کارت حافظه T-SD | وقتی برنامه در پیشزمینه باشد، وقتی دستگاه قفل میشود، متوقف میشود و وقتی قفل دستگاه باز میشود، دوباره اجرا میشود. |
رابط کاربری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| نمایش_وضعیت_برابری | انتقالهای T-جهتگیری | جهتگیریهای نمایشگر و حالتهای تاشدگی اساساً ویژگیها و عملکردهای یکسانی را نشان میدهند و برابری عملکردی را حفظ میکنند. |
| نمایش_تمام_صفحه | انتقالهای T-جهتگیری | برنامه پنجره برنامه را در هر دو جهت پر میکند و به دلیل تغییرات پیکربندی، از جمله تاشو و باز شدن دستگاه، کادربندی نشده است. استفاده از حروف بزرگ کوچک برای جبران تغییرات کوچک در هندسه صفحه نمایش قابل قبول است. |
| جهت گیری_انتقال ها | انتقالهای T-جهتگیری | این برنامه، انتقال سریع بین جهتهای مختلف نمایشگر و باز و بسته شدن دستگاه را بدون هیچ مشکلی در رندر صفحه نمایش و بدون از دست دادن حالت، مدیریت میکند. |
کیفیت بصری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| کیفیت_گرافیکی | کیفیت گرافیکی T | این برنامه گرافیک، متن، تصاویر و سایر عناصر رابط کاربری را بدون اعوجاج، تاری یا پیکسلبندی قابل توجه نمایش میدهد.
|
| طول_خط | طول خط T | این برنامه با محدود کردن طول خط به ۴۵ تا ۷۵ کاراکتر (شامل فاصلهها) برای هر یک از زبانهای پشتیبانیشده توسط برنامه، خوانایی متن و بلوکهای متنی را تضمین میکند. |
| پشتیبانی قالب | پشتیبانی از قالب T | محتوای برنامه و تمام محتوای وب که توسط برنامه قابل دسترسی است، از هر دو تم روشن و تیره پشتیبانی میکند. |
ناوبری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| دکمه_بازگشت_راهنمایی | ناوبری T-Back | این برنامه از ناوبری دکمه بازگشت استاندارد پشتیبانی میکند و از هیچ دکمه بازگشت سفارشی روی صفحه استفاده نمیکند. |
| بازگشت_حرکت_جهتیابی | ناوبری T-Back | این برنامه از ناوبری حرکتی برای برگشت به عقب و رفتن به صفحه اصلی پشتیبانی میکند. |
| حفظ_وضعیت | حفظ حالت T ، ناوبری T-Back | این برنامه هنگام خروج از پیشزمینه، وضعیت کاربر یا برنامه را حفظ میکند و از از دست رفتن تصادفی دادهها به دلیل بازگشت به عقب و سایر تغییرات وضعیت جلوگیری میکند. هنگام بازگشت به پیشزمینه، برنامه وضعیت حفظشده و هرگونه تراکنش دارای وضعیت در انتظار را بازیابی میکند. نمونههایی از آن شامل تغییرات در فیلدهای قابل ویرایش، پیشرفت بازی، منوها، ویدیوها و سایر بخشهای برنامه است.
|
اعلانها
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| کیفیت اعلان | کیفیت اعلان T | اعلانها اطلاعات مرتبط با برنامه شما را ارائه میدهند.
|
| کیفیت مکالمه | کیفیت اعلان T | برای برنامههای پیامرسان، شبکههای اجتماعی و مکالمات:
|
دسترسیپذیری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| اندازه_هدف_لمسی | اندازه هدف T-Touch | حداقل فاصله بین نقاط لمسی ۴۸ نقطه در اینچ است. به دستورالعملهای چیدمان و تایپوگرافی طراحی متریال مراجعه کنید. |
| کنتراست_بصری | کنتراست بصری T | متن برنامه و محتوای پیشزمینه نسبت کنتراست زیر را با پسزمینه برنامه حفظ میکنند:
درباره رنگ و کنتراست بیشتر بدانید. |
| توضیحات_محتوا | توضیحات_محتوای_تی | هر عنصر رابط کاربری ، به جز TextView ، را با استفاده از contentDescription توصیف کنید. |
عملکرد
برنامه شما باید رفتار تابعی زیر را پیادهسازی کند.
صوتی
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| شروع_پخش_صوت | شروع پخش صوتی T-Audio | وقتی کاربر پخش صدا را آغاز میکند، برنامه باید یکی از موارد زیر را ظرف یک ثانیه انجام دهد:
|
| درخواست_تمرکز_صوتی | درخواست_تمرکز_تی_آدیو | برنامه باید هنگام شروع پخش صدا، درخواست فوکوس صوتی کند و هنگام توقف پخش، فوکوس صوتی را رها کند. |
| تغییر_تمرکز_صوتی | تغییر فوکوس تی-آدیو | برنامه باید درخواستهای برنامههای دیگر برای فوکوس صوتی را مدیریت کند . برای مثال، یک برنامه ممکن است هنگام پخش گفتار توسط برنامه دیگر، صدای پخش را کاهش دهد. |
| پخش_صدا_زمینه | پسزمینه_پخش_تی_آدیو | برنامه باید از پخش در پسزمینه پشتیبانی کند. برنامه باید از یک سرویس پیشزمینه استفاده کند تا از توقف فرآیند برنامه توسط سیستم پس از غیرفعال شدن آن جلوگیری کند. همچنین برنامه باید یک اعلان مداوم و غیرقابل رد شدن را در نوار وضعیت یا روی صفحه قفل نمایش دهد تا به کاربر اطلاع دهد که برنامه در حال اجرا است. کاربران باید بتوانند با استفاده از کنترلهای اعلان یا قفل صفحه یا کنترلهای روی یک وسیله جانبی متصل، پخش را کنترل کنند. |
| سبک_اعلان_صوتی | سبک اعلانهای T-Audio | وقتی برنامه در پسزمینه صدا پخش میکند، باید یک اعلان با استایل MediaStyle ایجاد کند. |
| ادامه پخش_صوت | ادامه پخش صوتی T-Audio | اگر برنامه در پسزمینه باشد و پخش صدا متوقف شود، پخش صدا با بازگشت برنامه به پیشزمینه از سر گرفته میشود، یا برنامه باید به کاربر اطلاع دهد که پخش در حالت مکث قرار دارد. |
ویدئو
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| ویدیو_پیپ | تی-ویدئو_پیپ | اگر برنامه ویدیو پخش میکند، باید از پخش تصویر در تصویر پشتیبانی کند. |
| رمزگذاری_ویدئو | رمزگذاری T-Video | اگر برنامه ویدیو را رمزگذاری میکند، باید این کار را با استفاده از استاندارد فشردهسازی ویدیوی HEVC انجام دهد. |
| پخش_ویدئو_پس_زمینه | پخش_زمینه_ویدئوی_تی | برنامه از پخش ویدیو در پسزمینه پشتیبانی میکند، حتی زمانی که برنامه در بالاترین قسمت صفحه نباشد، از جمله زمانی که پنجره برنامه:
|
اشتراکگذاری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| برگه اشتراکگذاری سیستم | برگه اشتراکگذاری T-System | برنامه باید هنگام اشتراکگذاری محتوا از برگه اشتراکگذاری اندروید استفاده کند. برنامه میتواند اهدافی را پیشنهاد دهد که برای راهحلهای سفارشی در دسترس نیستند. |
خدمات پس زمینه
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| بهینهسازی_سرویس_پسزمینه | بهینهسازی_سرویس_زمینه_تی | این برنامه از اجرای سرویسهای غیرضروری و طولانی در پسزمینه جلوگیری میکند تا عملکرد روان دستگاه کاربر تضمین شود. توجه: سیستم محدودیتهای مختلفی را روی سرویسهای پسزمینه اعمال میکند. موارد زیر، استفادههای نادرست از سرویسهای پسزمینه هستند:
برای اطلاعات بیشتر، به نمای کلی وظایف پسزمینه مراجعه کنید. |
عملکرد و پایداری
برنامه شما باید عملکرد، پایداری، سازگاری و پاسخگویی بهینه را ارائه دهد.
عملکرد
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| زمان_راه_اندازی_برنامه | زمان شروع برنامه T | اگر بارگذاری برنامه بیش از دو ثانیه طول بکشد، برنامه به سرعت بارگیری میشود یا بازخوردی روی صفحه به کاربر ارائه میدهد (یک نشانگر پیشرفت یا نشانه مشابه). |
| عملکرد رندرینگ | عملکرد رندرینگ تی | برنامه هر ۱۶ (یا کمتر) میلیثانیه فریمها را رندر میکند تا حداقل ۶۰ فریم در ثانیه نمایش داده شود. برای کمک به مشکلات رندر، به بخش رندر کند مراجعه کنید. |
| انطباق با حالت سختگیرانه | انطباق با T-StrictMode | با فعال بودن StrictMode (به بخش تست StrictMode مراجعه کنید)، هنگام تست برنامه، هیچ چشمک قرمزی (هشدارهای عملکرد از StrictMode ) قابل مشاهده نیست. |
پایداری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| پایداری_ANR | پایداری T_ANR | برنامه باعث خرابی یا مسدود شدن رابط کاربری نمیشود که باعث خطاهای ANR (عدم پاسخگویی اندروید) شود. از گزارش پیش از راهاندازی گوگل پلی برای شناسایی مشکلات احتمالی پایداری استفاده کنید. پس از استقرار، صفحه Android Vitals را در کنسول گوگل پلی رصد کنید. |
SDK
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| سازگاری_پلتفرم_اندروید | سازگاری با پلتفرم اندروید تی | برنامه روی آخرین نسخه عمومی پلتفرم اندروید اجرا میشود، بدون اینکه از کار بیفتد یا تأثیر شدیدی بر عملکردهای اصلی داشته باشد. |
| نسخه_SDK هدف | نسخه SDK تی-تارگت | برنامه با تنظیم مقدار targetSdk در فایل build.gradle ماژول برنامه، آخرین SDK اندروید مورد نیاز برای هماهنگی با الزامات Google Play را هدف قرار میدهد. |
| نسخه_کامپایل_SDK | نسخه SDK تی-تارگت | برنامه با آخرین نسخه SDK اندروید و با تنظیم مقدار compileSdk در فایل build.gradle ماژول برنامه ساخته شده است. |
| نگهداری SDK | نگهداری T-SDK رابطهای T-Non_SDK | هرگونه SDK گوگل یا شخص ثالث مورد استفاده بهروز است. هرگونه بهبود در این SDKها مربوط به پایداری، سازگاری یا امنیت باید به موقع در دسترس کاربران قرار گیرد. برای SDK های گوگل، در صورت وجود از SDK های ارائه شده توسط خدمات گوگل پلی استفاده کنید. این SDK ها با نسخه های قبلی سازگار هستند، به صورت خودکار بروزرسانی می شوند، اندازه بسته برنامه شما را کاهش می دهند و از منابع دستگاه به طور کارآمد استفاده می کنند. |
| رابطهای غیر SDK | رابطهای T-Non_SDK | برنامه از رابطهای غیر SDK استفاده نمیکند. |
| کیفیت_ساخت_تولید | کیفیت تولید و ساخت | هیچ کتابخانه اشکالزدایی در برنامه اصلی گنجانده نشده است. کتابخانههای اشکالزدایی موجود در برنامه میتوانند باعث مشکلات عملکردی و همچنین امنیتی شوند. |
باتری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| مدیریت_قدرت | مدیریت توان تی | این برنامه به درستی از ویژگیهای مدیریت مصرف انرژی Doze و App Standby پشتیبانی میکند. برنامهها میتوانند درخواست معافیت از نگهداری برق را داشته باشند. برای سایر موارد استفاده، به پشتیبانی در Optimize for Doze و App Standby مراجعه کنید. |
حریم خصوصی و امنیت
برنامه با خیال راحت دادههای کاربر و اطلاعات شخصی را مدیریت میکند و سطوح مناسبی از مجوزها را ارائه میدهد.
برنامههای منتشر شده در فروشگاه گوگل پلی نیز باید از سیاستهای دادههای کاربر گوگل پلی پیروی کنند تا از حریم خصوصی کاربران محافظت شود.
مجوزها
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| Minimize_Permissions | T-Minimize_Permissions | برنامه فقط حداقل مجوزهای مورد نیاز برای پشتیبانی از مورد استفاده فعلی را درخواست میکند. برای برخی از مجوزها، مانند موقعیت مکانی، برنامه در صورت امکان از مشخصات کلی به جای جزئیات دقیق استفاده میکند. به بخش «درخواستهای مجوز خود را به حداقل برسانید» مراجعه کنید. |
| مجوزهای حساس | مجوزهای حساس به T | برنامه فقط زمانی درخواست دسترسی به دادههای حساس (مانند گروههای مجوز پیامک یا گزارش تماس یا موقعیت مکانی ) یا خدماتی که هزینه دارند (مانند شمارهگیر یا پیامک) را دارد که مستقیماً به موارد استفاده اصلی برنامه مربوط باشند. پیامدهای مربوط به این مجوزها باید به طور واضح برای کاربر افشا شود. بسته به نحوهی استفادهی برنامهی شما از مجوزها، ممکن است روش دیگری برای انجام موارد استفادهی برنامهی شما بدون نیاز به دسترسی به اطلاعات حساس وجود داشته باشد. برای مثال، به جای درخواست مجوزهای مربوط به مخاطبین کاربر، از یک intent ضمنی برای درخواست دسترسی استفاده کنید. |
| مجوزهای زمان اجرا | مجوزهای زمان اجرا T | برنامه مجوزهای زمان اجرا را زمانی درخواست میکند که عملکرد درخواست شده باشد، نه در هنگام راهاندازی برنامه. |
| دلیل_اجازه | منطق مجوز T | برنامه به وضوح توضیح میدهد که چرا مجوزها مورد نیاز هستند . |
| تخریب برازنده | T-Graceful_Degradation | وقتی کاربران مجوزی را رد یا لغو میکنند، برنامه به آرامی تنزل رتبه میدهد . برنامه نباید دسترسی کاربر را به طور کامل مسدود کند. |
دادهها و فایلها
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| ذخیرهسازی_دادههای_حساس | ذخیرهسازی_داده_حساس_T مدیریت دادههای حساس به T | تمام دادههای حساس در حافظه داخلی برنامه ذخیره میشوند. |
| ثبت دادههای حساس | ثبت دادههای حساس به T | هیچ داده شخصی یا حساسی از کاربر در لاگ سیستم یا لاگ مخصوص برنامه ثبت نمیشود. |
| شناسههای سختافزاری | شناسههای سختافزاری T | این برنامه از هیچ شناسه سختافزاری غیرقابل تنظیم مجدد ، مانند IMEI، برای اهداف شناسایی استفاده نمیکند. |
هویت
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| نکات تکمیل خودکار | نکات تکمیل خودکار T | این برنامه نکاتی را برای تکمیل خودکار اطلاعات حساب کاربری و سایر اطلاعات حساس، مانند اطلاعات کارت اعتباری، آدرس فیزیکی و شماره تلفن، ارائه میدهد. |
| مدیر اعتبارنامه | T-Credential_Manager | این برنامه ، مدیریت اعتبارنامه برای اندروید را برای یک تجربه ورود یکپارچه ادغام میکند که پشتیبانی از کلیدهای عبور، هویت یکپارچه و رمزهای عبور را یکپارچه میکند. |
| احراز هویت بیومتریک | احراز هویت بیومتریک T | این برنامه از احراز هویت بیومتریک برای محافظت از تراکنشهای مالی یا اطلاعات حساس، مانند اسناد مهم کاربر، پشتیبانی میکند. |
اجزای برنامه
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| کامپوننت_اکسپورت | T-Component_Export | برنامه، ویژگی فقط اجزای برنامهای که دادهها را با برنامههای دیگر به اشتراک میگذارند ، یا اجزایی که باید توسط برنامههای دیگر فراخوانی شوند ، صادر میشوند. |
| مجوزهای_مولفه | مجوزهای کامپوننت T | همه اهداف و پخشها از بهترین شیوهها پیروی میکنند:
|
| حفاظت از اجزا | محافظت از قطعات T | تمام کامپوننتهایی که محتوا را بین برنامهها به اشتراک میگذارند، برنامهها نباید به دسترسی به لیستی از بستههای نصبشده متکی باشند. |
شبکهسازی
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| امنیت_شبکه_ترافیک | امنیت شبکه تی | تمام ترافیک شبکه از طریق SSL ارسال میشود. |
| پیکربندی_امنیت_شبکه | پیکربندی_امنیت_شبکه_تی | برنامه، پیکربندی امنیت شبکه را اعلام میکند. |
| مقداردهی اولیه ارائه دهنده امنیت | مقداردهی اولیه ارائه دهنده امنیت T | اگر برنامه از سرویسهای گوگل پلی استفاده کند، ارائهدهنده امنیت در هنگام راهاندازی برنامه مقداردهی اولیه میشود . |
وب ویوها
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| بارگذارندهی داراییها در وبویو | T-WebView_Asset_Loader ، ناوبری T-WebView | برای دسترسی به محتوای محلی setAllowUniversalAccessFromFileURLs() استفاده نکنید. در عوض، از WebViewAssetLoader استفاده کنید. |
| وب ویو_جاوااسکریپت | T-WebView_JavaScript ، ناوبری T-WebView | نماهای وب در اندروید ۶.۰ (سطح API ۲۳ و بالاتر)، به جای آن از کانالهای پیام HTML استفاده کنید. |
اعدام
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| بستههای_برنامه | بستههای نرمافزاری T | برنامه به صورت پویا کدی را از خارج از APK برنامه بارگذاری نمیکند. از بستههای برنامه اندروید استفاده کنید که شامل Play Feature Delivery و Play Asset Delivery میشود. از آگوست ۲۰۲۱، استفاده از بستههای نرمافزاری اندروید برای همه برنامههای جدید در فروشگاه گوگل پلی الزامی است. |
رمزنگاری
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| الگوریتمهای رمزنگاری | الگوریتمهای رمزنگاری تی | این برنامه از الگوریتمهای رمزنگاری قوی و ارائه شده توسط پلتفرم و یک مولد اعداد تصادفی استفاده میکند. همچنین، این برنامه الگوریتمهای سفارشی را پیادهسازی نمیکند. |
گوگل پلی
انتشار برنامه خود را در گوگل پلی فعال کنید.
سیاستها
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| سیاستهای_محتوای_بازی | سیاستهای_محتوای_تی-پلی | این برنامه کاملاً به شرایط خطمشی محتوای توسعهدهندگان گوگل پلی پایبند است، محتوای نامناسب ارائه نمیدهد و از مالکیت معنوی یا برند دیگران استفاده نمیکند. |
| رتبهبندی_محتوای_پخش | سیاستهای_محتوای_تی-پلی | سطح بلوغ برنامه بر اساس دستورالعملهای رتبهبندی محتوا به طور مناسب تنظیم میشود. |
صفحه جزئیات برنامه
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| نمایش_ویژه_گرافیک | گرافیک_ویژگی_تی_پلی ، داراییهای_گرافیکی_تی_پلی | نمودار ویژگیهای برنامه از دستورالعملهای ذکر شده در این مقاله پشتیبانی پیروی میکند. مطمئن شوید که:
|
| مراجع_دستگاه_بازی | داراییهای_گرافیکی_تی_پلی | اسکرینشاتها و ویدیوهای برنامه، دستگاههای غیراندرویدی را نشان نمیدهند یا به آنها اشاره نمیکنند. |
| پخش_محتوای_گمراه_کننده | داراییهای_گرافیکی_تی_پلی | اسکرینشاتها یا ویدیوهای برنامه، محتوا و تجربه برنامه شما را به شیوهای گمراهکننده نشان نمیدهند. |
پشتیبانی کاربر
| شناسه | آزمایشها | توضیحات |
|---|---|---|
| نقد و بررسیهای کاربران | سیاستهای_محتوای_تی-پلی | اشکالات رایج گزارششده توسط کاربران در برگه «بررسیها» در صفحه Google Play در صورتی مورد بررسی قرار میگیرند که قابل تکرار باشند و در دستگاههای مختلف زیادی رخ دهند. اگر اشکالی فقط در چند دستگاه رخ میدهد، اگر آن دستگاهها بهطور خاص محبوب یا جدید باشند، همچنان باید آن را برطرف کنید. |
محیط آزمایش
یک محیط آزمایشی به صورت زیر تنظیم کنید:
تست شبیهساز: شبیهساز اندروید روشی عالی برای آزمایش برنامه شما تحت نسخههای مختلف اندروید و وضوح صفحه نمایش است. دستگاههای شبیهسازی شده (AVD) را طوری تنظیم کنید که رایجترین فرم فاکتورها و ترکیبهای سختافزار/نرمافزار را برای پایگاه کاربر هدف شما نشان دهند. انواع فرم فاکتورها را با استفاده از شبیهسازهای زیر (حداقل) آزمایش کنید:
- تاشو: ۷.۶ اینچ تاشو با نمایشگر بیرونی (این مورد در بخش تلفنها در AVD Manager فهرست شده است)
- تبلت: پیکسل سی ۹.۹۴ اینچ (۲۵۶۰ پیکسل در ۱۸۰۰ پیکسل)
- تست اعلانهای اپلیکیشن موبایل: جفت کردن یک دستگاه موبایل/شبیهساز با شبیهساز Wear OS: Wear OS Round 1.84"
دستگاههای سختافزاری: محیط آزمایش شما باید شامل تعداد کمی از دستگاههای سختافزاری واقعی باشد که نمایانگر فاکتورهای فرم کلیدی و ترکیبهای سختافزار/نرمافزار موجود برای مصرفکنندگان هستند. نیازی نیست روی هر دستگاهی که در بازار موجود است آزمایش کنید. روی تعداد کمی از دستگاههای نماینده تمرکز کنید، حتی با استفاده از یک یا دو دستگاه در هر فاکتور فرم.
آزمایشگاههای تست دستگاه: همچنین میتوانید از سرویسهای شخص ثالث مانند Firebase Test Lab برای آزمایش برنامه خود در طیف وسیعی از دستگاهها استفاده کنید.
تست با آخرین نسخه اندروید: علاوه بر تست نسخههای اندروید نمونه برای پایگاه کاربری هدف خود، همیشه باید برنامه را با آخرین نسخه اندروید تست کنید تا مطمئن شوید که آخرین تغییرات رفتاری، تأثیر منفی بر تجربه کاربری برنامه شما نمیگذارد.
برای راهنمایی بیشتر در مورد تست، از جمله تست واحد، تست ادغام و تست رابط کاربری، به اصول تست برنامههای اندروید مراجعه کنید.
حالت سختگیرانه
برای آزمایش عملکرد، StrictMode در برنامه خود فعال کنید. از StrictMode برای شناسایی عملیاتی که میتوانند بر عملکرد، دسترسیهای شبکه و خواندن و نوشتن فایل تأثیر بگذارند، استفاده کنید. به دنبال عملیات بالقوه مشکلساز، هم در نخ اصلی و هم در نخهای دیگر باشید.
با استفاده از StrictMode.ThreadPolicy.Builder یک سیاست نظارت بر هر رشته تنظیم کنید و با استفاده از detectAll() همه نظارتهای پشتیبانیشده را در ThreadPolicy فعال کنید.
با استفاده از penaltyFlashScreen() اعلان بصری نقض خطمشی را برای ThreadPolicy فعال کنید.
آزمایشها
تستهای کیفیت اصلی برنامه به شما کمک میکنند تا کیفیت اساسی برنامه خود را ارزیابی کنید. میتوانید تستها را ترکیب کنید یا گروههایی از تستها را در طرح تست خود ادغام کنید.
تجربه کاربری
برای یک تجربه کاربری منسجم و شهودی، آزمایش کنید.
قابلیت استفاده
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Consistent_UX | تجربه کاربری سازگار | به تمام قسمتهای برنامه بروید - تمام صفحات، پنجرههای گفتگو، تنظیمات و تمام جریانهای کاربری. موارد زیر را انجام دهید:
|
| تی-اپ_سوئیچر | تعویض برنامه | از صفحه هر برنامه، به برنامه در حال اجرا دیگری بروید و سپس با استفاده از کلید تعویض برنامههای اخیر ، به برنامه تحت آزمایش برگردید. |
| رزومه خواب-خواب | خواب_رزومه | دکمه پاور را فشار دهید تا دستگاه به حالت خواب برود، سپس دوباره دکمه پاور را فشار دهید تا صفحه نمایش بیدار شود. |
| قفل T_Resume | قفل_رزومه | قفل صفحه نمایش را روی دستگاه تنظیم کنید. دکمه روشن/خاموش را فشار دهید تا دستگاه به حالت خواب برود (که دستگاه را قفل میکند). سپس، دوباره دکمه روشن/خاموش را فشار دهید تا صفحه نمایش بیدار شود و قفل دستگاه باز شود. |
کارت SD
| شناسه | ویژگی | توضیحات |
|---|---|---|
| کارت حافظه T-SD | تجربه کاربری سازگار | تستهای عملکرد اصلی را با برنامه نصب شده روی کارت SD دستگاه انجام دهید (اگر برنامه از این روش نصب پشتیبانی میکند). برای انتقال برنامه به کارت SD، به تنظیمات برنامه مراجعه کنید. |
رابط کاربری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| انتقالهای T-جهتگیری | نمایش_وضعیت_برابری ، نمایش تمام صفحه ، جهت گیری_انتقال ها | از هر صفحه برنامه، دستگاه را حداقل سه بار بین حالتهای افقی و عمودی و حالتهای تا شده و باز شده بچرخانید. تأیید کنید که برنامه موارد زیر را انجام میدهد:
|
کیفیت بصری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| کیفیت گرافیکی T | کیفیت_گرافیکی | از تمام ویژگیهای برنامه خود استفاده کنید. تأیید کنید که تمام عناصر بصری، از جمله گرافیک، متن، تصاویر و سایر عناصر رابط کاربری، عاری از اعوجاج، تاری یا پیکسلبندی باشند. |
| طول خط T | طول_خط | تمام بلوکهای متنی موجود در برنامه را بررسی کنید. بررسی کنید که طول متن و خط بلوک متنی برای خوانایی به ۴۵ تا ۷۵ کاراکتر (شامل فاصلهها) محدود شده باشد. موارد زیر را تأیید کنید:
|
| پشتیبانی از قالب T | پشتیبانی قالب | مطمئن شوید که تمام متنها در تمهای روشن و تیره خوانا هستند. مطمئن شوید که تمام تصاویر در تمهای روشن و تیره به وضوح قابل تشخیص و زیبا هستند. |
ناوبری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| ناوبری T-Back | دکمه_بازگشت_راهنما ، بازگشت_حرکت_جهتیابی | به تمام قسمتهای برنامه بروید - تمام صفحهها، پنجرههای گفتگو، تنظیمات و تمام جریانهای کاربری. در هر صفحه برنامه، دکمه برگشت را فشار دهید یا از حرکت کشیدن به عقب استفاده کنید. برنامه باید به صفحه قبلی یا صفحه اصلی برود. |
| T-State_Preservation | حفظ_وضعیت | از صفحه هر برنامه، کلید Home دستگاه را فشار دهید یا در پیمایش اشارهای، انگشت خود را به بالا بکشید، سپس برنامه را از صفحه «همه برنامهها» دوباره اجرا کنید. |
اعلانها
| شناسه | ویژگی | توضیحات |
|---|---|---|
| کیفیت اعلان T | کیفیت_اعلان ، کیفیت مکالمه | در کشوی اعلانها، انواع اعلانهایی را که برنامه میتواند نمایش دهد، فعال و مشاهده کنید. در صورت لزوم، اعلانها را گسترش دهید (اندروید ۴.۱ و بالاتر) و روی همه اقدامات موجود ضربه بزنید. |
دسترسیپذیری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| اندازه هدف T-Touch | اندازه_هدف_لمسی | تأیید کنید که اهداف لمسی، اندازه و موقعیت قابل دسترس و ثابتی را برای همه اندازهها و پیکربندیهای نمایشگر حفظ میکنند. برای اطلاعات مربوط به قابلیت دسترسی، به اسکنر قابلیت دسترسی مراجعه کنید. |
| کنتراست بصری T | کنتراست_بصری | کنتراست تمام عناصر بصری را بررسی کنید. |
| توضیحات_محتوای_تی | توضیحات_محتوا | تأیید کنید که همه عناصر رابط کاربری به غیر از TextView دارای توضیحات محتوا هستند. |
عملکرد
تأیید کنید که برنامه شما رفتار تابعی زیر را پیادهسازی میکند.
صوتی
| شناسه | ویژگی | توضیحات |
|---|---|---|
| شروع پخش صوتی T-Audio | شروع_پخش_صوت | پخش صدا را آغاز کنید. تأیید کنید که برنامه ظرف یک ثانیه شروع به پخش صدا میکند یا یک نشانگر بصری ارائه میدهد که نشان میدهد دادههای صوتی برای پخش آماده میشوند. |
| درخواست_تمرکز_تی_آدیو | درخواست_تمرکز_صوتی | پخش صدا را آغاز کنید. برنامه باید درخواست فوکوس صوتی کند . وقتی پخش صدا متوقف میشود، برنامه باید فوکوس صوتی را لغو کند (که این اتفاق به طور خودکار برای برنامههایی که اندروید ۱۲ (سطح API ۳۱) و بالاتر را هدف قرار میدهند، رخ میدهد). |
| تغییر فوکوس تی-آدیو | تغییر_تمرکز_صوتی | شروع پخش صدا. پخش صدا را در برنامه دیگری آغاز کنید. برنامه شما باید به تغییر در فوکوس صدا واکنش نشان دهد و پخش صدا را متوقف کند یا صدای پخش را کاهش دهد. |
| پسزمینه_پخش_تی_آدیو | پخش_صدا_زمینه | پخش صدا را آغاز کنید. با یک برنامه غیر صوتی دیگر به عنوان برنامه پیشزمینه تعامل داشته باشید. برنامه باید پخش صدا را در پسزمینه ادامه دهد و یک اعلان در نوار وضعیت نمایش دهد. تأیید کنید که میتوانید پخش را با استفاده از کنترلهای نمایش داده شده در اعلان مدیریت کنید. صفحه دستگاه را قفل کنید. برنامه باید به پخش صدا در پسزمینه ادامه دهد و یک اعلان روی صفحه قفل نمایش دهد. تأیید کنید که میتوانید پخش را با استفاده از کنترلهای نمایش داده شده در اعلان مدیریت کنید. |
| سبک اعلانهای T-Audio | سبک_اعلان_صوتی | پخش صدا را آغاز کنید. با یک برنامه غیر صوتی دیگر به عنوان برنامه پیشزمینه تعامل داشته باشید. تأیید کنید که برنامه شما همچنان به پخش صدا در پسزمینه ادامه میدهد و یک اعلان با استایل MediaStyle ایجاد کرده است. به بخش «بازی خوب با کنترلهای رسانه» مراجعه کنید. |
| ادامه پخش صوتی T-Audio | ادامه پخش_صوت | پخش صدا را آغاز کنید. با یک برنامه غیر صوتی دیگر به عنوان برنامه پیش زمینه تعامل داشته باشید. با برنامه خود تعامل داشته باشید تا آن را به برنامه برتر تبدیل کنید. صدا باید از سر گرفته شود یا صدا باید بازیابی شود. در غیر این صورت، برنامه باید به کاربر نشان دهد که پخش متوقف شده است. |
ویدئو
| شناسه | ویژگی | توضیحات |
|---|---|---|
| تی-ویدئو_پیپ | ویدیو_پیپ | پخش ویدیوی برنامه را در حالت تصویر در تصویر فعال کنید. |
| رمزگذاری T-Video | رمزگذاری_ویدئو | تأیید کنید که برنامه، ویدیو را با استفاده از استاندارد فشردهسازی ویدیوی HEVC رمزگذاری میکند. |
| پخش_زمینه_ویدئوی_تی | پخش_ویدئو_پس_زمینه | پخش ویدیو را شروع کنید. پنجره برنامه را کوچک کنید، برنامه دیگری را باز کنید تا پنجره برنامه به پسزمینه منتقل شود. در دستگاههای دارای قابلیت دسکتاپ، پنجره برنامه را از دسکتاپ قابل مشاهده خارج کنید. مطمئن شوید که پخش ویدیو در همه موارد بدون وقفه ادامه مییابد. |
اشتراکگذاری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| برگه اشتراکگذاری T-System | برگه اشتراکگذاری سیستم | یک اینتنت ایجاد کنید و با فراخوانی startActivity() و با استفاده از اینتنت به عنوان آرگومان، یک اکتیویتی را آغاز کنید. به بخش «استفاده از صفحه اشتراک اندروید » مراجعه کنید. برنامه شما باید صفحه اشتراک اندروید را نمایش دهد. |
خدمات پس زمینه
| شناسه | ویژگی | توضیحات |
|---|---|---|
| بهینهسازی_سرویس_زمینه_تی | بهینهسازی_سرویس_پسزمینه | از تمام ویژگیهای اصلی برنامه خود استفاده کنید. مطمئن شوید که هیچ سرویس پسزمینهای که مدت زیادی در حال اجرا باشد، شروع نشده باشد. برای ارسال برنامه به پسزمینه، به برنامه دیگری بروید. به تنظیمات بروید و بررسی کنید که آیا برنامه شما در پسزمینه سرویسی در حال اجرا دارد یا خیر. در اندروید ۴.۰ و بالاتر، به صفحه برنامهها بروید و برنامه را در برگه «در حال اجرا» پیدا کنید. |
عملکرد و پایداری
عملکرد، پایداری و تصاویر پیکسلی بینقص را تأیید کنید.
عملکرد
| شناسه | ویژگی | توضیحات |
|---|---|---|
| زمان شروع برنامه T | زمان_راه_اندازی_برنامه | برنامه خود را اجرا کنید. بررسی کنید که برنامه به سرعت بارگیری میشود یا اگر بارگیری برنامه بیش از دو ثانیه طول میکشد، یک نشانگر پیشرفت یا نشانه مشابه ارائه میدهد. |
| عملکرد رندرینگ تی | عملکرد رندرینگ | از تمام ویژگیهای اصلی برنامه خود استفاده کنید. مطمئن شوید که برنامه حداقل ۶۰ فریم در ثانیه رندر میکند. از گزینه رندر Profile HWUI برای تست برنامه خود استفاده کنید. |
| انطباق با T-StrictMode | انطباق با حالت سختگیرانه | به جمعآوری زباله و تأثیر آن بر تجربه کاربری توجه ویژهای داشته باشید. |
پایداری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| پایداری T_ANR | پایداری_ANR | از تمام ویژگیهای اصلی برنامه خود استفاده کنید. تأیید کنید که برنامه باعث خرابی یا مسدود شدن رابط کاربری نمیشود و باعث خطاهای ANR (Android Not Responding) نمیشود. گزارش پیش از راهاندازی Google Play را بررسی کنید تا مشکلات احتمالی پایداری را شناسایی کنید. |
SDK
| شناسه | ویژگی | توضیحات |
|---|---|---|
| سازگاری با پلتفرم اندروید تی | سازگاری_پلتفرم_اندروید | برنامه خود را روی آخرین نسخه عمومی پلتفرم اندروید اجرا کنید. از تمام ویژگیهای اصلی استفاده کنید. تأیید کنید که برنامه از کار نمیافتد و بدون از دست دادن هیچ یک از عملکردهای اصلی اجرا میشود. |
| نسخه SDK تی-تارگت | نسخه_SDK_هدف ، نسخه_کامپایل_SDK | فایل مانیفست اندروید و پیکربندی ساخت را بررسی کنید تا مطمئن شوید که برنامه با آخرین SDK موجود ( targetSdk و compileSdk ) ساخته شده است. |
| نگهداری T-SDK | نگهداری SDK | فایل build.gradle برنامه خود را برای هرگونه وابستگی قدیمی بررسی کنید. |
| رابطهای T-Non_SDK | رابطهای غیر SDK | از ابزار lint اندروید استودیو برای تشخیص استفاده از رابطهای غیر SDK استفاده کنید. برای روشهای آزمایش جایگزین ، به محدودیتهای رابطهای غیر SDK مراجعه کنید. |
| کیفیت تولید و ساخت | کیفیت_ساخت_تولید | فایل build.gradle برنامه خود را برای یافتن هرگونه کتابخانه اشکالزدایی (debug library) بررسی کنید. |
باتری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| مدیریت توان تی | مدیریت_قدرت | از تمام ویژگیهای اصلی برنامه در حالتهای Doze و App Standby استفاده کنید. تأیید کنید که هشدارها، تایمرها، اعلانها و همگامسازیها در پنجره Doze maintenance و هنگام خروج برنامه از حالت App Standby به درستی کار میکنند. رفتار Doze و App Standby را با استفاده از دستورات ADB آزمایش کنید (برای الزامات و دستورالعملها به Test with Doze و App Standby مراجعه کنید). برای تشخیص تخلیه غیرمنتظره باتری، از ابزار Power Profiler اندروید استودیو یا ابزار Battery Historian به همراه کارهای برنامهریزیشده در پسزمینه استفاده کنید. |
حریم خصوصی و امنیت
آزمایش حفاظت از حریم خصوصی و امنیت مورد انتظار کاربران.
مجوزها
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Minimize_Permissions | Minimize_Permissions | تمام مجوزهایی که برنامه شما نیاز دارد را در فایل مانیفست، در زمان اجرا و در تنظیمات برنامه روی دستگاه ( تنظیمات > اطلاعات برنامه ) بررسی کنید. |
| مجوزهای حساس به T | مجوزهای حساس | از هر ویژگی برنامه خود که درخواست مجوز میکند استفاده کنید. تأیید کنید که برنامه فقط برای موارد استفاده اصلی برنامه، درخواست مجوز دسترسی به دادهها یا سرویسهای حساس را دارد. تأیید کنید که پیامدهای اعطای مجوز به دادهها و سرویسهای حساس به وضوح به کاربر اطلاع داده شده است. |
| مجوزهای زمان اجرا T | مجوزهای زمان اجرا | از تمام ویژگیهای برنامه خود که نیاز به مجوز دارند استفاده کنید. تأیید کنید که مجوزها به صورت تنبل درخواست میشوند، یعنی فقط زمانی که به ویژگیها دسترسی پیدا میکنید، نه در هنگام راهاندازی برنامه. |
| منطق مجوز T | دلیل_اجازه | از تمام ویژگیهای برنامه خود که نیاز به مجوز دارند استفاده کنید. تأیید کنید که برنامه به کاربر توضیح میدهد که چرا به مجوزها نیاز دارد. |
| T-Graceful_Degradation | تخریب برازنده | از تمام ویژگیهای برنامه خود که نیاز به مجوز دارند استفاده کنید. مجوزها را رد یا لغو کنید. تأیید کنید که برنامه یک مورد استفاده جایگزین ارائه میدهد و به عملکرد خود ادامه میدهد. |
دادهها و فایلها
| شناسه | ویژگی | توضیحات |
|---|---|---|
| ذخیرهسازی_دادههای_حساس_T | ذخیرهسازی_دادههای_حساس | تمام دادههای ذخیره شده در حافظه داخلی را بررسی کنید. تأیید کنید که دادههای ذخیره شده در خارج از سیستم، دادههای حساس نباشند. |
| مدیریت دادههای حساس به T | ذخیرهسازی_دادههای_حساس | نحوه مدیریت و پردازش دادههایی که از حافظه خارجی بارگذاری میشوند را بررسی کنید. |
| ثبت دادههای حساس به T | ثبت دادههای حساس | از تمام ویژگیهای اصلی برنامه هنگام نظارت بر گزارش دستگاه استفاده کنید. تأیید کنید که هیچ اطلاعات خصوصی کاربر ثبت نشده باشد. |
| شناسههای سختافزاری T | شناسههای سختافزاری | از تمام ویژگیهای اصلی برنامه استفاده کنید. تأیید کنید که برنامه از هیچ شناسه سختافزاری مانند IMEI برای اهداف شناسایی استفاده نمیکند. |
هویت
| شناسه | ویژگی | توضیحات |
|---|---|---|
| نکات تکمیل خودکار T | نکات تکمیل خودکار | از تمام ویژگیهای برنامه که نیاز به ورودی کاربر دارند استفاده کنید. تأیید کنید که برنامه نکاتی را برای تکمیل خودکار فیلدهای ورودی برای دادههایی مانند اعتبارنامه حساب و سایر اطلاعات حساس ارائه میدهد. |
| T-Credential_Manager | مدیر اعتبارنامه | Sign in to your app. Verify that the app integrates Credential Manager for Android for a sign-in experience that unifies support for passkeys, federated identity, and passwords. |
| T-Biometric_Authentication | Biometric_Authentication | Use all app features that require authentication. Verify that the app protects financial transactions or sensitive information, such as important user documents, with biometric authentication . |
App components
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Component_Export | Component_Export | Review all application components defined in the Android manifest file for the appropriate export state. The exported property must be set explicitly for all components. |
| T-Component_Permissions | Component_Permissions | Review all permissions that your app requires, in the manifest file, at runtime, and in the app settings on the device ( Settings > App Info ). |
| T-Component_Protection | Component_Protection | Review all content providers defined in the Android manifest file. Make sure each provider has an appropriate protectionLevel . |
شبکهسازی
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Network_Security_Traffic | Network_Security_Traffic | Declare a network security configuration that disables cleartext traffic , then test the app. |
| T-Network_Security_Configuration | Network_Security_Configuration | Review the app's network security configuration . Verify that no lint checks on the configuration fail. |
| T-Security_Provider_Initialization | Security_Provider_Initialization | Verify that the security provider is initialized at application startup for Google Play services. |
WebViews
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-WebView_Asset_Loader | WebView_Asset_Loader | Review the app's network security configuration . Verify that no lint checks on the configuration fail. |
| T-WebView_JavaScript | WebView_JavaScript | For each WebView , navigate to a page that requires JavaScript. |
| T-WebView_Navigation | WebView_Asset_Loader , WebView_JavaScript | In each WebView, attempt to navigate to sites and content that aren't loaded directly by your app. |
اعدام
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-App_Bundles | App_Bundles | Verify that the app uses Android App Bundles and does not dynamically load code from outside the app's APK. |
رمزنگاری
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Cryptographic_Algorithms | Cryptographic_Algorithms | Verify that the app uses strong, platform-provided cryptographic algorithms and a random number generator . Also verify that the app doesn't implement custom algorithms. |
گوگل پلی
Verify that your app is ready for Google Play.
Policies
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Play_Content_Policies | Play_Content_Policies , Play_Content_Rating , Play_User_Reviews | Sign into the Google Play Developer Console to review your developer profile, app description, screenshots, feature graphic, content rating and user feedback. |
App details page
| شناسه | ویژگی | توضیحات |
|---|---|---|
| T-Play_Feature_Graphic | Play_Feature_Graphic | Download your feature graphic and screenshots, and scale them down to match the display sizes on the devices and form factors that you are targeting. |
| T-Play_Graphic_Assets | Play_Feature_Graphic , Play_Device_References , Play_Misleading_Content | Review all graphical assets, media, text, code libraries, and other content that's packaged in the app or expansion file download. |
بایگانی
Previous versions of the core app quality guidelines: