دستورالعمل‌های کیفیت برنامه اصلی

برای ایجاد پایه‌ای محکم برای برنامه‌ای باکیفیت، از دستورالعمل‌های کیفیت برنامه اصلی پیروی کنید.

این دستورالعمل‌ها حداقل کیفیتی را که همه برنامه‌ها باید داشته باشند تعریف می‌کند.

کیفیت برنامه تطبیقی

برنامه‌های Android روی طیف گسترده‌ای از دستگاه‌ها اجرا می‌شوند—از تلفن‌های جمع‌وجور گرفته تا رایانه‌های لوحی، دستگاه‌های تاشو، رایانه‌های رومیزی، نمایشگرهای متصل، سیستم‌های اطلاعات سرگرمی خودرو، تلویزیون، و XR. حالت‌های پنجره‌بندی مثل صفحهٔ دونیمه و پنجره‌بندی رایانه‌ای به برنامه‌ها امکان می‌دهند در بخش‌هایی از صفحه که اندازه آن‌ها قابل‌تغییر است اجرا شوند.

از دستورالعمل‌های کیفیت برنامه سازگار (همراه با دستورالعمل‌های کیفیت برنامه اصلی) پیروی کنید تا:

  • برنامه‌هایی ایجاد کنید که برای همه ضرایب شکل و اندازه‌های نمایشگر بهینه‌سازی شده باشند
  • رتبه برنامه‌هایتان را در فهرستگان و جستجوی Google Play ارتقا دهید
  • جذب کاربران بیشتر و افزایش حفظ کاربران

رهنمودها

دستورالعمل‌های اصلی زیر به شما کمک می‌کند برنامه‌ای ساده و با کیفیت بالا بسازید.

تجربه کاربری

طراحی بصری و الگوهای تعامل استاندارد Android تجربه کاربری یکپارچه و شهودی ارائه می‌دهد.

درصورت امکان، از مؤلفه‌های طراحی Material برای ایجاد میانای کاربر برنامه‌تان به‌جای مؤلفه‌های پلاتفرم Android استفاده کنید. «طراحی مواد» ظاهر و تجربه مدرن Android را به‌همراه سازگاری میانای کاربر در نسخه‌های Android ارائه می‌دهد.

کاربردپذیری

شناسه آزمایش‌ها شرح
Consistent_UX T-Consistent_UX،
T-SD_Card
برنامه تجربه کاربری یکپارچه‌ای برای همه موارد استفاده برنامه در همه ابعاد ارائه می‌دهد.
App_Switcher T-App_Switcher،
T-SD_Card
وقتی تمرکز به برنامه دیگری تغییر می‌کند، برنامه به پس‌زمینه می‌رود. وقتی برنامه از تعویض‌کننده برنامه موارد اخیر دوباره فعال می‌شود، به پیش‌زمینه برمی‌گردد.
Sleep_Resume T-Sleep_Resume،
T-SD_Card
وقتی برنامه در پیش‌زمینه باشد، با رفتن دستگاه به حالت خواب موقتاً متوقف می‌شود و با بیدار شدن دستگاه ازسر گرفته می‌شود.
Lock_Resume T-Lock_Resume،
T-SD_Card
وقتی برنامه در پیش‌زمینه باشد، با قفل شدن دستگاه موقتاً متوقف می‌شود و با باز شدن قفل دستگاه ازسر گرفته می‌شود.

رابط کاربری

شناسه آزمایش‌ها شرح
Display_State_Parity T-Orientation_Transitions

جهت‌های نمایش و حالت‌های تاشو اساساً ویژگی‌ها و کنش‌های یکسانی را نشان می‌دهند و برابری عملکردی را حفظ می‌کنند.

Fullscreen_Display T-Orientation_Transitions

برنامه در هر دو جهت پنجره برنامه را پر می‌کند و به‌دلیل تغییرات پیکربندی، ازجمله تا کردن و باز کردن دستگاه، در حالت جعبه‌ای قرار نمی‌گیرد.

نوارهای مشکی جزئی برای جبران تغییرات کوچک در هندسه صفحه‌نمایش قابل‌قبول است.

Orientation_Transitions T-Orientation_Transitions برنامه انتقال سریع بین جهت‌های نمایشگر و تا کردن و باز کردن دستگاه را بدون مشکل در ارائه نمایشگر و بدون ازدست دادن وضعیت مدیریت می‌کند.

کیفیت بصری

شناسه آزمایش‌ها شرح
Graphic_Quality T-Graphic_Quality

برنامه محتوای گرافیکی، نوشتار، تصاویر، و دیگر عناصر میانای کاربر را بدون اعوجاج، محوشدگی، یا پیکسل‌بندی قابل‌توجه نمایش می‌دهد.

  • برنامه هرجا ممکن باشد از ترسیمی‌های بُرداری استفاده می‌کند
  • برنامه از گرافیک با کیفیت بالا برای همه اندازه‌های صفحه‌نمایش و ضرایب شکل هدف استفاده می‌کند
  • بدون نام مستعار در لبه‌های منوها، دکمه‌ها، و دیگر عناصر میانای کاربر
Line_Length T-Line_Length برنامه با محدود کردن طول خط به ۴۵ تا ۷۵ نویسه (شامل فاصله‌ها) برای هریک از زبان‌های پشتیبانی‌شده برنامه، خوانایی نوشتار و بلوک‌های نوشتاری را تضمین می‌کند.
Theme_Support T-Theme_Support محتوای برنامه و همه محتوای وبی که برنامه به آن دسترسی دارد، از هر دو زمینه روشن و تیره پشتیبانی می‌کند.
شناسه آزمایش‌ها شرح
Back_Button_Nav T-Back_Nav برنامه از پیمایش استاندارد دکمه برگشت پشتیبانی می‌کند و از هیچ پیام‌واره دکمه برگشت سفارشی روی صفحه استفاده نمی‌کند.
Back_Gesture_Nav T-Back_Nav برنامه از پیمایش اشاره‌ای برای برگشتن و رفتن به صفحه اصلی پشتیبانی می‌کند.
State_Preservation T-State_Preservation,
T-Back_Nav

برنامه هنگام خارج شدن از پیش‌نما، وضعیت کاربر یا برنامه را حفظ می‌کند و از ازدست رفتن تصادفی داده‌ها به‌دلیل پیمایش برگشتی و سایر تغییرات وضعیت جلوگیری می‌کند.

هنگام بازگشت به پیش‌نما، برنامه وضعیت حفظ‌شده و هرگونه تراکنش‌های باوضعیت معلقه را بازیابی می‌کند. نمونه‌ها شامل تغییرات در فیلدهای قابل‌ویرایش، پیشرفت بازی، منوها، ویدیوها، و بخش‌های دیگر برنامه است.

  • وقتی برنامه از تعویض‌کننده برنامه موارد اخیر ازسر گرفته می‌شود، برنامه کاربر را دقیقاً به وضعیتی که برنامه آخرین‌بار استفاده شده است برمی‌گرداند.
  • وقتی برنامه پس‌از بیدار شدن دستگاه از حالت خواب (قفل‌شده) ازسر گرفته می‌شود، برنامه کاربر را به همان وضعیتی برمی‌گرداند که برنامه آخرین‌بار در آن استفاده شده است.
  • وقتی برنامه از صفحه اصلی یا همه برنامه‌ها مجدداً راه‌اندازی می‌شود، بسته به اینکه چقدر از آخرین استفاده از برنامه گذشته است، باید یکی از کارهای زیر را انجام دهد:
    • اگر از برنامه آخرین بار مدت کوتاهی قبل (چند دقیقه) استفاده شده است، وضعیت برنامه را تا حد ممکن نزدیک به وضعیت قبلی بازیابی کنید.
    • اگر زمان بیشتری از آخرین استفاده از برنامه گذشته است، سعی کنید برنامه را تا حد ممکن نزدیک به وضعیت قبلی بازیابی کنید یا برنامه را از صفحه اصلی یا وضعیت پیش‌فرض دیگری شروع کنید.

اعلان‌ها

شناسه آزمایش‌ها شرح
Notification_Quality T-Notification_Quality

اعلان‌ها اطلاعات مربوط به برنامه‌تان را ارائه می‌دهند.

  • از اعلان‌ها برای تبلیغ متقابل یا تبلیغ محصول دیگری استفاده نکنید، زیرا این کار اکیداً توسط «فروشگاه Play» ممنوع شده است.
  • کانال‌های اعلان براساس روال‌های مطلوب تعریف شده‌اند، نه اینکه همه اعلان‌ها از یک کانال ارائه شوند.
  • اولویت اعلان صحیح را انتخاب کنید.
  • درصورت امکان، چندین اعلان را در یک گروه اعلان پشته کنید.
  • درصورت لزوم، برای اعلان‌ها زمان وقفه تنظیم کنید.
  • اعلان‌ها فقط درصورتی پایدار هستند که به رویدادهای درحال انجام، مانند بازپخش موسیقی یا تماس تلفنی، مربوط باشند. برای اطلاعات بیشتر، به بخش عملکرد مراجعه کنید.
Conversation_Quality T-Notification_Quality

برای برنامه‌های پیام‌رسانی، برنامه‌های اجتماعی، و مکالمه‌ها:

دسترس‌پذیری

شناسه آزمایش‌ها شرح
Touch_Target_Size T-Touch_Target_Size هدف‌های لمسی حداقل ۴۸ پیکسل مستقل از تراکم هستند. دستورالعمل‌های اندازه‌های هدف Material Design را ببینید.
Visual_Contrast T-Visual_Contrast

نوشتار برنامه و محتوای پیش‌زمینه نسبت‌های کنتراست زیر را با پس‌زمینه برنامه حفظ می‌کنند:

  • ۳:۱ برای نوشتار و گرافیک بزرگ
  • ۴٫۵:۱ برای نوشتار کوچک (کمتر از ۱۸ pt یا کمتر از ۱۴ pt اگر نوشتار پررنگ باشد)

درباره رنگ و کنتراست بیشتر بدانید.

Content_Description T-Content_Description هر عنصر میانای کاربر را، به‌جز TextView، بااستفاده از contentDescription توصیف کنید.

عملکرد

برنامه‌تان باید رفتار عملکردی زیر را پیاده‌سازی کند.

صوتی

شناسه آزمایش‌ها شرح
Audio_Playback_Start T-Audio_Playback_Start

وقتی کاربر بازپخش صدا را شروع می‌کند، برنامه باید ظرف یک ثانیه یکی از کارهای زیر را انجام دهد:

  • شروع پخش صدا
  • نشانگر تصویری ارائه دهید که نشان دهد داده‌های صوتی درحال آماده شدن است
Audio_Focus_Request T-Audio_Focus_Request برنامه باید هنگام شروع پخش صدا، تمرکز صوتی را درخواست کند و هنگام توقف بازپخش، تمرکز صوتی را رها کند.
Audio_Focus_Change T-Audio_Focus_Change برنامه باید درخواست‌های برنامه‌های دیگر را برای تمرکز صوتی مدیریت کند. برای مثال، وقتی برنامه دیگری گفتار پخش می‌کند، ممکن است برنامه صدای بازپخش را کاهش دهد.
Audio_Playback_Background T-Audio_Playback_Background

برنامه باید از بازپخش پس‌زمینه‌ای پشتیبانی کند.

برنامه باید از سرویس پیش‌زمینه‌ای استفاده کند تا وقتی برنامه دیگر قابل‌مشاهده نیست، سیستم فرایند برنامه را متوقف نکند. همچنین برنامه باید اعلانی دائمی و غیرقابل‌بستن در نوار وضعیت یا در صفحه قفل نمایش دهد تا به کاربر اطلاع دهد که برنامه درحال اجرا است.

کاربران باید بتوانند بازپخش را بااستفاده از اعلان یا کنترل‌های صفحه قفل یا کنترل‌های لوازم جانبی متصل‌شده کنترل کنند.

Audio_Notification_Style T-Audio_Notification_Style وقتی برنامه در پس‌زمینه صدا پخش می‌کند، برنامه باید اعلان با سبک MediaStyle ایجاد کند.
Audio_Playback_Resume T-Audio_Playback_Resume اگر برنامه در پس‌زمینه باشد و صدا موقتاً متوقف شده باشد، وقتی برنامه به پیش‌زمینه برمی‌گردد صدا ازسر گرفته می‌شود، یا برنامه باید به کاربر نشان دهد که بازپخش در وضعیت موقتاً متوقف‌شده است.

ویدیو

شناسه آزمایش‌ها شرح
Video_PiP T-Video_PiP اگر برنامه ویدیو پخش می‌کند، باید از بازپخش تصویردرتصویر پشتیبانی کند.
Video_Encoding T-Video_Encoding اگر برنامه ویدیو را کدبندی می‌کند، باید این کار را بااستفاده از استاندارد فشرده‌سازی ویدیو HEVC انجام دهد.
Video_Playback_Background T-Video_Playback_Background

برنامه از بازپخش پس‌زمینه‌ای ویدیو زمانی که برنامه در بالاترین سطح قرار ندارد پشتیبانی می‌کند، ازجمله زمانی که پنجره برنامه:

  • کوچک‌شده
  • پشت پنجره‌های دیگر یا واسط کاربری سیستم (برای مثال، سایه اعلان یا صفحه اصلی/قفل)
  • خارج از صفحه نمایان میزکار

هم‌رسانی

شناسه آزمایش‌ها شرح
System_Sharesheet T-System_Sharesheet برنامه باید هنگام هم‌رسانی محتوا از برگه هم‌رسانی Android استفاده کند. برنامه می‌تواند هدف‌هایی را پیشنهاد دهد که برای راه‌حل‌های سفارشی دردسترس نیستند.

سرویس‌های پس‌زمینه‌ای

شناسه آزمایش‌ها شرح
Background_Service_Optimization T-Background_Service_Optimization

برنامه از اجرای سرویس‌های طولانی غیرضروری در پس‌زمینه اجتناب می‌کند تا از عملکرد روان دستگاه کاربر اطمینان حاصل شود.

توجه: سیستم محدودیت‌های مختلفی را بر سرویس‌های پس‌زمینه‌ای اعمال می‌کند.

موارد زیر استفاده‌های نامناسب از سرویس‌های پس‌زمینه‌ای است:

  • حفظ اتصال شبکه برای اعلان‌ها
  • حفظ اتصال بلوتوث
  • روشن نگه داشتن GPS

برای اطلاعات بیشتر، نمای کلی تکالیف پس‌زمینه را ببینید.

عملکرد و پایداری

برنامه‌تان باید عملکرد، پایداری، سازگاری، و پاسخ‌گویی بهینه ارائه دهد.

عملکرد

شناسه آزمایش‌ها شرح
App_Startup_Time T-App_Startup_Time برنامه به‌سرعت بار می‌شود یا اگر بار شدن برنامه بیش‌از دو ثانیه طول بکشد، بازخورد روی صفحه‌ای به کاربر ارائه می‌دهد (نشانگر پیشرفت یا نشانه‌ای مشابه).
Rendering_Performance T-Rendering_Performance برنامه هر ۱۶ میلی‌ثانیه (یا کمتر) فریم‌ها را رندر می‌کند تا حداقل ۶۰ فریم در ثانیه نمایش دهد. برای دریافت راهنمایی درباره مشکلات پرداز، به پرداز آهسته مراجعه کنید.
StrictMode_Compliance T-StrictMode_Compliance با فعال بودن StrictMode (بخش آزمایش StrictMode را ببینید)، هیچ چشمک قرمزی (هشدارهای عملکرد از StrictMode) هنگام آزمایش برنامه قابل‌مشاهده نیست.

پایداری

شناسه آزمایش‌ها شرح
Stability_ANR T-Stability_ANR برنامه ازکار نمی‌افتد یا رشته میانای کاربر را مسدود نمی‌کند که باعث ایجاد خطاهای ANR (Android پاسخ نمی‌دهد) شود. از گزارش پیش‌از راه‌اندازی Google Play برای شناسایی مشکلات احتمالی پایداری استفاده کنید. پس‌از استقرار، صفحه معیارهای کلیدی Android را در کنسول Google Play پایش کنید.

کیت توسعه نرم‌افزار (SDK)

شناسه آزمایش‌ها شرح
Android_Platform_Compatibility T-Android_Platform_Compatibility برنامه در جدیدترین نسخه عمومی پلاتفرم Android بدون ازکارافتادگی یا تأثیر شدید بر عملکرد اصلی اجرا می‌شود.
Target_SDK_Version T-Target_SDK_Version برنامه با تنظیم مقدار targetSdk در فایل build.gradle واحد برنامه، جدیدترین کیت توسعه نرم‌افزار Android را که برای مطابقت با الزامات Google Play لازم است هدف قرار می‌دهد.
Compile_SDK_Version T-Target_SDK_Version برنامه با جدیدترین کیت توسعه نرم‌افزار Android ساخته شده است و مقدار compileSdk در فایل build.gradle واحد برنامه تنظیم شده است.
SDK_Maintenance T-SDK_Maintenance,
T-Non_SDK_Interfaces

هرگونه کیت توسعه نرم‌افزار Google یا طرف سوم مورداستفاده به‌روز باشد. هرگونه بهبود در این کیت‌های توسعه نرم‌افزار که مربوط به پایداری، سازگاری، یا امنیت باشد باید به‌موقع دردسترس کاربران قرار گیرد.

برای کیت‌های توسعه نرم‌افزار Google، درصورت دردسترس بودن، از کیت‌های توسعه نرم‌افزار با پشتیبانی خدمات Google Play استفاده کنید. این کیت‌های توسعه نرم‌افزار با نسخه‌های قدیمی سازگارند، به‌روزرسانی‌های خودکار دریافت می‌کنند، اندازه بسته برنامه شما را کاهش می‌دهند، و از منابع درون‌دستگاهی به‌طور کارآمد استفاده می‌کنند.

Non_SDK_Interfaces T-Non_SDK_Interfaces برنامه از میاناهای غیر کیت توسعه نرم‌افزار استفاده نمی‌کند.
Production_Build_Quality T-Production_Build_Quality هیچ کتابخانه اشکال‌زدایی در برنامه تولید گنجانده نشده است. کتابخانه‌های اشکال‌زدایی گنجانده‌شده در برنامه می‌توانند باعث مشکلات عملکردی و امنیتی شوند.

باتری

شناسه آزمایش‌ها شرح
Power_Management T-Power_Management

برنامه به‌درستی از ویژگی‌های مدیریت مصرف باتری Doze و App Standby پشتیبانی می‌کند.

برنامه‌ها می‌توانند درخواست معافیت از نگهداری مصرف برق کنند. پشتیبانی از موارد استفاده دیگر را در بهینه‌سازی برای «چرت زدن» و «آماده‌به‌کار برنامه» ببینید.

حریم خصوصی و امنیت

برنامه داده‌های کاربر و اطلاعات شخصی را به‌طور ایمن مدیریت می‌کند و سطوح مناسبی از اجازه را ارائه می‌دهد.

برنامه‌های منتشرشده در «فروشگاه Google Play» باید از خط‌مشی‌های داده‌های کاربر Google Play نیز پیروی کنند تا از حریم خصوصی کاربر محافظت شود.

اجازه‌ها

شناسه آزمایش‌ها شرح
Minimize_Permissions T-Minimize_Permissions برنامه فقط حداقل اجازه‌های لازم برای پشتیبانی از مورد استفاده فعلی را درخواست می‌کند. برای برخی‌از اجازه‌ها، مثل مکان، برنامه درصورت امکان از مشخصات تقریبی به‌جای دقیق استفاده می‌کند. به‌حداقل رساندن درخواست‌های اجازه را ببینید.
Sensitive_Permissions T-Sensitive_Permissions

برنامه فقط زمانی اجازه دسترسی به داده‌های حساس (مانند گروه‌های اجازه «پیامک» یا «گزارش تماس» یا مکان) یا سرویس‌های پولی (مانند «شماره‌گیر» یا «پیامک») را درخواست می‌کند که مستقیماً به موارد استفاده اصلی برنامه مربوط باشد. پیامدهای مربوط به این اجازه‌ها باید به‌طور مشهود برای کاربر شفاف‌سازی شود.

بسته به نحوه استفاده برنامه‌تان از اجازه‌ها، ممکن است روش جایگزینی برای برآورده کردن مورد استفاده برنامه‌تان بدون تکیه بر دسترسی به اطلاعات حساس وجود داشته باشد. برای مثال، به‌جای درخواست اجازه‌های مربوط به مخاطبین کاربر، از هدف ضمنی برای درخواست دسترسی استفاده کنید.

Runtime_Permissions T-Runtime_Permissions برنامه اجازه‌های زمان اجرا را هنگام درخواست عملکرد درخواست می‌کند، نه درطول راه‌اندازی برنامه.
Permission_Rationale T-Permission_Rationale برنامه به‌وضوح توضیح می‌دهد چرا به اجازه‌ها نیاز دارد.
Graceful_Degradation T-Graceful_Degradation وقتی کاربران اجازه‌ای را رد یا لغو می‌کنند، برنامه به‌طور مناسبی تنزل می‌کند. برنامه نباید دسترسی کاربر را به‌طور کامل مسدود کند.

داده‌ها و فایل‌ها

شناسه آزمایش‌ها شرح
Sensitive_Data_Storage T-Sensitive_Data_Storage،
T-Sensitive_Data_Handling
همه داده‌های حساس در فضای ذخیره‌سازی داخلی برنامه ذخیره می‌شود.
Sensitive_Data_Logging T-Sensitive_Data_Logging هیچ داده شخصی یا حساس کاربر در گزارش سیستم یا گزارش مختص برنامه ثبت نمی‌شود.
Hardware_IDs T-Hardware_IDs برنامه از هیچ شناسه سخت‌افزاری بازنشانی‌نشدنی، مثل IMEI، برای اهداف شناسایی استفاده نمی‌کند.

پشتیبان‌گیری و بازیابی داده‌ها

شناسه آزمایش‌ها شرح
App_Data_Backup T-App_Data_Backup

برنامه داده‌های کاربر، تنظیمات، و وضعیت برنامه را در نسخه‌های پشتیبان ابری و انتقال‌های دستگاه به دستگاه (D2D) حفظ می‌کند.

پشتیبان‌گیری خودکار را پیاده‌سازی کنید و android:dataExtractionRules را پیکربندی کنید تا از بازیابی یکپارچه داده‌ها هنگام راه‌اندازی دستگاه جدید یا بازنصب برنامه مطمئن شوید.

App_Logins_Restoration T-App_Logins_Restoration

وقتی کاربر دستگاه جدیدی را راه‌اندازی می‌کند، برنامه به‌طور خودکار حساب‌های کاربری و وضعیت ورود به سیستم را بازیابی می‌کند.

بااستفاده از Credential Manager، بازگرداندن اعتبارنامه‌ها را پیاده‌سازی کنید تا اصالت‌سنجی کاربران به‌طور خودکار و بدون اجبار به ورود به سیستم دستی یا جریان‌های بازیابی حساب انجام شود.

هویت

شناسه آزمایش‌ها شرح
Autofill_Hints T-Autofill_Hints برنامه نکاتی برای تکمیل خودکار اطلاعات کاربری حساب و دیگر اطلاعات حساس، مثل اطلاعات کارت اعتباری، نشانی فیزیکی، و شماره تلفن ارائه می‌دهد.
Credential_Manager T-Credential_Manager برنامه Credential Manager for Android را برای تجربه ورود به سیستم یکپارچه ادغام می‌کند که پشتیبانی از گذرکلیدها، هویت فدراسیونی، و گذرواژه‌ها را یکپارچه می‌کند.
Biometric_Authentication T-Biometric_Authentication برنامه از اصالت‌سنجی زیست‌سنجشی برای محافظت از تراکنش‌های مالی یا اطلاعات حساس، مانند اسناد مهم کاربر، پشتیبانی می‌کند.

مؤلفه‌های برنامه

شناسه آزمایش‌ها شرح
Component_Export T-Component_Export

برنامه به‌طور صریح ویژگی android:exported را برای همه فعالیت‌ها، سرویس‌ها، گیرنده‌های رویداد ثبت‌شده، و به‌ویژه ارائه‌دهندگان محتوا تنظیم می‌کند.

فقط مؤلفه‌های برنامه‌ای که داده‌ها را با برنامه‌های دیگر هم‌رسانی می‌کنند یا مؤلفه‌هایی که باید توسط برنامه‌های دیگر فراخوانی شوند صادر می‌شوند.

Component_Permissions T-Component_Permissions

همه هدف‌ها و همه‌فرستی‌ها از روال‌های مطلوب پیروی می‌کنند:

Component_Protection T-Component_Protection

همه مؤلفه‌هایی که محتوا را بین برنامه‌ها هم‌رسانی می‌کنند از android:protectionLevel="signature" برای اجازه‌های سفارشی استفاده می‌کنند. این شامل فعالیت‌ها، سرویس‌ها، گیرنده‌های رویداد ثبت‌شده، و به‌ویژه ارائه‌دهندگان محتوا می‌شود.

برنامه‌ها نباید به دسترسی به فهرست بسته‌های نصب‌شده متکی باشند.

ایجاد شبکه

شناسه آزمایش‌ها شرح
Network_Security_Traffic T-Network_Security_Traffic همه ترافیک شبکه ازطریق SSL ارسال می‌شود.
Network_Security_Configuration T-Network_Security_Configuration برنامه پیکربندی امنیت شبکه را اعلام می‌کند.
Security_Provider_Initialization T-Security_Provider_Initialization اگر برنامه از خدمات Google Play استفاده کند، ارائه‌دهنده امنیت در راه‌اندازی برنامه مقداردهی اولیه می‌شود.

وب‌نماها

شناسه آزمایش‌ها شرح
WebView_Asset_Loader T-WebView_Asset_Loader،
T-WebView_Navigation
از setAllowUniversalAccessFromFileURLs() برای دسترسی به محتوای محلی استفاده نکنید. درعوض، از WebViewAssetLoader استفاده کنید.
WebView_JavaScript T-WebView_JavaScript،
T-WebView_Navigation

نماهای وب از addJavaScriptInterface() با محتوای غیرقابل‌اعتماد استفاده نمی‌کنند.

در Android نسخه ۶.۰ (سطح میانای برنامه‌سازی کاربردی ۲۳ و بالاتر)، به‌جای آن از کانال‌های پیام HTML استفاده کنید.

اجرا

شناسه آزمایش‌ها شرح
App_Bundles T-App_Bundles

برنامه کد را از خارج APK برنامه به‌طور پویا بار نمی‌کند. از دسته‌های برنامه Android استفاده کنید که شامل ویژگی تحویل Play و ارائه دارایی‌های Play می‌شود.

از اوت ۲۰۲۱، استفاده از «دسته‌های برنامه Android» برای همه برنامه‌های جدید در «فروشگاه Google Play» اجباری است.

رمزنگاری

شناسه آزمایش‌ها شرح
Cryptographic_Algorithms T-Cryptographic_Algorithms برنامه از الگوریتم‌های رمزنگاری قوی ارائه‌شده توسط پلاتفرم و تولیدکننده عدد تصادفی استفاده می‌کند. همچنین، این برنامه الگوریتم‌های سفارشی را پیاده‌سازی نمی‌کند.

Google Play

برنامه‌تان را برای انتشار در Google Play فعال کنید.

خط‌مشی‌ها

شناسه آزمایش‌ها شرح
Play_Content_Policies T-Play_Content_Policies برنامه به‌طور دقیق از شرایط خط‌مشی محتوای توسعه‌دهنده Google Play پیروی می‌کند، محتوای نامناسب ارائه نمی‌دهد، و از مالکیت فکری یا نمانام دیگران استفاده نمی‌کند.
Play_Content_Rating T-Play_Content_Policies سطح رده سنی برنامه به‌طور مناسب براساس رهنمودهای رده‌بندی محتوا تنظیم شده است.

صفحه جزئیات برنامه

شناسه آزمایش‌ها شرح
Play_Feature_Graphic T-Play_Feature_Graphic،
T-Play_Graphic_Assets

گرافیک ویژه برنامه از دستورالعمل‌های ذکرشده در این مقاله پشتیبانی پیروی می‌کند. مطمئن شوید:

  • فهرستگان برنامه شامل گرافیک شاخص با کیفیت بالا است
  • گرافیک ویژه حاوی تصاویر دستگاه، نماگرفت، یا نوشتار کوچکی نیست که هنگام کوچک شدن و نمایش در کوچک‌ترین اندازه صفحه‌نمایش هدف برنامه‌تان ناخوانا شود
  • گرافیک ویژه شبیه آگهی نیست
Play_Device_References T-Play_Graphic_Assets نماگرفت‌ها و ویدیوهای برنامه دستگاه‌های غیرAndroid را نشان نمی‌دهند یا به آن‌ها ارجاع نمی‌دهند.
Play_Misleading_Content T-Play_Graphic_Assets نماگرفت‌ها یا ویدیوهای برنامه محتوا و تجربه برنامه‌تان را به‌صورت گمراه‌کننده نشان نمی‌دهند.

پشتیبانی کاربر

شناسه آزمایش‌ها شرح
Play_User_Reviews T-Play_Content_Policies اشکال‌های رایج گزارش‌شده توسط کاربر در برگه مرورها در صفحه Google Play درصورتی رسیدگی می‌شوند که اشکال‌ها قابل‌تولید مجدد باشند و در دستگاه‌های مختلف زیادی رخ دهند. اگر اشکالی فقط در چند دستگاه رخ می‌دهد، همچنان باید آن را برطرف کنید اگر آن دستگاه‌ها به‌طور خاص محبوب یا جدید هستند.

محیط آزمایشی

محیط آزمایشی را به‌صورت زیر راه‌اندازی کنید:

  • آزمایش شبیه‌ساز: «شبیه‌ساز Android» روشی عالی برای آزمایش برنامه تحت نسخه‌های مختلف Android و وضوح‌های صفحه‌نمایش است. دستگاه‌های شبیه‌سازی‌شده (AVD) را راه‌اندازی کنید تا رایج‌ترین ضریب‌های شکل و ترکیب‌های سخت‌افزاری/نرم‌افزاری را برای پایگاه کاربر هدف شما نشان دهند. انواع مختلفی از عوامل شکل را بااستفاده از شبیه‌سازهای زیر (حداقل) آزمایش کنید:

    • تاشدنی‌ها: تاشو ۷٫۶ اینچی با نمایشگر بیرونی (این مورد در «مدیر دستگاه‌های مجازی Android» در بخش تلفن‌ها فهرست شده است)
    • رایانه لوحی: Pixel C‏ ۹٫۹۴ اینچ (۲۵۶۰ پیکسل × ۱۸۰۰ پیکسل)
    • آزمایش اعلان برنامه تلفن همراه: جفت کردن دستگاه همراه / شبیه‌ساز با شبیه‌ساز Wear OS: ‏Wear OS Round 1.84"‎
  • دستگاه‌های سخت‌افزاری: محیط آزمایشی شما باید شامل تعداد کمی از دستگاه‌های سخت‌افزاری واقعی باشد که نشان‌دهنده ابعاد اصلی و ترکیب‌های سخت‌افزاری/نرم‌افزاری دردسترس مصرف‌کنندگان باشد. لازم نیست برنامه را در همه دستگاه‌های موجود در بازار آزمایش کنید. روی تعداد کمی از دستگاه‌های نمونه تمرکز کنید، حتی می‌توانید از یک یا دو دستگاه برای هر ضریب شکل استفاده کنید.

  • آزمایشگاه‌های تست دستگاه:؛ همچنین می‌توانید از سرویس‌های شخص ثالث، مانند Firebase Test Lab، برای آزمایش برنامه خود در طیف گسترده‌ای از دستگاه‌ها استفاده کنید.

  • آزمایش با جدیدترین نسخه Android: علاوه‌بر آزمایش نسخه‌های Android نماینده برای پایگاه کاربر هدف، همیشه باید با جدیدترین نسخه Android آزمایش کنید تا مطمئن شوید جدیدترین تغییرات رفتاری تأثیر منفی بر تجربه کاربری برنامه‌تان نمی‌گذارد.

برای راهنمایی بیشتر درباره آزمایش، ازجمله آزمایش واحد، آزمایش ادغام، و آزمایش میانای کاربر، به مبانی آزمایش برنامه‌های Android مراجعه کنید.

StrictMode

برای آزمایش عملکرد، StrictMode را در برنامه‌تان فعال کنید. از StrictMode برای شناسایی عملیاتی که می‌تواند بر عملکرد، دسترسی‌های شبکه، و خواندن و نوشتن فایل تأثیر بگذارد استفاده کنید. عملیات‌های بالقوه مشکل‌ساز را هم در رشته اصلی و هم در رشته‌های دیگر جستجو کنید.

بااستفاده از StrictMode.ThreadPolicy.Builder، خط‌مشی پایشگری برای هر رشته راه‌اندازی کنید و همه پایشگری‌های پشتیبانی‌شده را در ThreadPolicy بااستفاده از detectAll() فعال کنید.

اعلان تصویری نقض خط‌مشی را برای ThreadPolicy بااستفاده از penaltyFlashScreen() فعال کنید.

آزمایش‌ها

آزمایش‌های کیفیت برنامه اصلی به شما کمک می‌کند کیفیت بنیادی برنامه‌تان را ارزیابی کنید. می‌توانید آزمایش‌ها را ترکیب کنید یا گروه‌های آزمایش را در طرح آزمایشی‌تان باهم ادغام کنید.

تجربه کاربری

آزمایش کردن برای تجربه کاربری یکپارچه و شهودی.

کاربردپذیری

شناسه ویژگی شرح
‫T-Consistent_UX Consistent_UX

به همه بخش‌های برنامه بروید—همه صفحه‌ها، کادرهای گفتگو، تنظیمات، و همه جریان‌های کاربر.

کارهای زیر را انجام دهید:
  • اگر برنامه امکان ویرایش یا ایجاد محتوا، بازی کردن، یا بازپخش رسانه را فراهم می‌کند، حتماً این جریان‌ها را آزمایش کنید.
  • هنگام آزمایش برنامه، وقفه‌هایی ازسوی برنامه‌های دیگر ایجاد کنید، مثلاً دریافت اعلان یا تماس تلفنی؛ و تغییرات گذرا در ویژگی‌های دستگاه اعمال کنید، مثلاً اتصال شبکه، عملکرد باتری، دردسترس بودن GPS، و بار سیستم.
  • همه جریان‌های خرید درون‌برنامه را وارد و آزمایش کنید
T-App_Switcher App_Switcher از هر صفحه برنامه، به برنامه درحال اجرای دیگری بروید و سپس بااستفاده از تعویض‌کننده برنامه موارد اخیر به برنامه تحت آزمایش برگردید.
T-Sleep_Resume Sleep_Resume دکمه روشن/خاموش را فشار دهید تا دستگاه به حالت خواب برود، سپس دکمه روشن/خاموش را دوباره فشار دهید تا صفحه فعال شود.
T-Lock_Resume Lock_Resume قفل صفحه را در دستگاه راه‌اندازی کنید. دکمه روشن/خاموش را فشار دهید تا دستگاه به حالت خواب برود (که دستگاه را قفل می‌کند). سپس، دکمه روشن/خاموش را دوباره فشار دهید تا صفحه‌نمایش بیدار شود و قفل دستگاه باز شود.

کارت SD

شناسه ویژگی شرح
T-SD_Card Consistent_UX

آزمایش‌های عملکرد اصلی را با برنامه‌ای که روی کارت SD دستگاه نصب شده است انجام دهید (اگر برنامه از این روش نصب پشتیبانی می‌کند).

برای انتقال برنامه به کارت SD، به تنظیمات برنامه بروید.

رابط کاربری

شناسه ویژگی شرح
T-Orientation_Transitions Display_State_Parity,
Fullscreen_Display,
Orientation_Transitions

از هر صفحه برنامه، دستگاه را حداقل سه بار بین جهت‌های افقی و عمودی و حالت‌های تاشده و بازشده بچرخانید.

بررسی کنید برنامه موارد زیر را انجام دهد:
  • در همه جهت‌های نمایش و حالت‌های تاشو، برابری عملکردی ارائه می‌دهد
  • پنجره برنامه را در همه جهت‌های نمایش و حالت‌های تاشو پر می‌کند و حاشیه سیاه ندارد
  • حفظ وضعیت و عدم وجود مشکلات پردازش درطول انتقال سریع بین جهت‌ها و تا کردن و باز کردن دستگاه

کیفیت بصری

شناسه ویژگی شرح
T-Graphic_Quality Graphic_Quality از همه ویژگی‌های برنامه‌تان استفاده کنید. بررسی کنید که همه عناصر دیداری، ازجمله گرافیک‌ها، نوشتار، تصاویر، و دیگر عناصر میانای کاربر، بدون اعوجاج، محوشدگی، یا پیکسل‌بندی باشند.
T-Line_Length Line_Length

همه بلوک‌های نوشتاری را در برنامه مرور کنید. بررسی کنید که طول خط نوشتار و بلوک نوشتاری برای خوانایی به ۴۵ تا ۷۵ نویسه (شامل فاصله‌ها) محدود شده باشد.

موارد زیر را درستی‌سنجی کنید:
  • ترکیب‌بندی در همه ابعاد پشتیبانی‌شده قابل‌قبول است
  • حروف یا کلمات بریده‌شده وجود نداشته باشد
  • کلمات در دکمه‌ها یا نمادها به‌طور نامناسب شکسته نشده باشند
  • فاصله کافی بین نوشتار و عناصر اطراف
T-Theme_Support Theme_Support بررسی کنید که همه نوشتارها در طرح‌های زمینه روشن و تیره خوانا باشند. تأیید کنید که همه عناصر دیداری در طرح‌های زمینه روشن و تیره به‌وضوح قابل‌تشخیص و زیبا باشند.
شناسه ویژگی شرح
T-Back_Nav Back_Button_Nav،
Back_Gesture_Nav

به همه بخش‌های برنامه بروید—همه صفحه‌ها، کادرهای گفتگو، تنظیمات، و همه جریان‌های کاربر.

از هر صفحه برنامه، دکمه برگشتن را فشار دهید یا از اشاره تند کشیدن برای برگشتن استفاده کنید. برنامه باید به صفحه قبلی یا صفحه اصلی برود.

T-State_Preservation State_Preservation از هر صفحه برنامه، کلید صفحه اصلی دستگاه را فشار دهید یا در پیمایش اشاره‌ای تند به بالا بکشید، سپس برنامه را از صفحه همه برنامه‌ها مجدداً راه‌اندازی کنید.

اعلان‌ها

شناسه ویژگی شرح
T-Notification_Quality Notification_Quality،
Conversation_Quality
همه انواع اعلان‌هایی را که برنامه می‌تواند نمایش دهد در کشو اعلان‌ها راه‌اندازی و مشاهده کنید. اعلان‌ها را درصورت لزوم ازهم باز کنید (Android نسخه ۴.۱ و بالاتر) و روی همه کنش‌های دردسترس ضربه بزنید.

دسترس‌پذیری

شناسه ویژگی شرح
T-Touch_Target_Size Touch_Target_Size تأیید کنید که هدف‌های لمسی اندازه و موقعیت سازگار و دسترس‌پذیری را برای همه اندازه‌ها و پیکربندی‌های نمایش حفظ می‌کنند. برای اطلاعات درباره دسترس‌پذیری، اسکنر دسترس‌پذیری را ببینید.
T-Visual_Contrast Visual_Contrast کنتراست همه عناصر دیداری را تأیید کنید.
T-Content_Description Content_Description تأیید کنید که همه عناصر میانای کاربر به‌جز TextView شرح محتوا داشته باشند.

عملکرد

تأیید کنید که برنامه‌تان رفتار عملکردی زیر را پیاده‌سازی می‌کند.

صوتی

شناسه ویژگی شرح
T-Audio_Playback_Start Audio_Playback_Start شروع بازپخش صدا. بررسی کنید که برنامه ظرف یک ثانیه پخش صدا را شروع کند یا نشانگر تصویری ارائه دهد که نشان دهد داده‌های صوتی برای بازپخش آماده می‌شوند.
T-Audio_Focus_Request Audio_Focus_Request شروع بازپخش صدا. برنامه باید تمرکز صوتی درخواست کند. وقتی بازپخش صدا متوقف می‌شود، برنامه باید تمرکز صوتی را واگذار کند (این اتفاق به‌طور خودکار برای برنامه‌هایی که Android 12 (سطح میانای برنامه‌سازی کاربردی ۳۱) و بالاتر را هدف قرار می‌دهند رخ می‌دهد).
T-Audio_Focus_Change Audio_Focus_Change شروع بازپخش صدا. بازپخش صدا را در برنامه دیگری شروع کنید. برنامه شما باید به تغییر در تمرکز صدا پاسخ دهد و بازپخش صدا را متوقف کند یا میزان صدای بازپخش را کاهش دهد.
T-Audio_Playback_Background Audio_Playback_Background

شروع بازپخش صدا. با برنامه غیرصوتی دیگری به‌عنوان برنامه پیش‌زمینه تعامل برقرار کنید. برنامه باید به پخش صدا در پس‌زمینه ادامه دهد و اعلانی در نوار وضعیت نمایش دهد. بررسی کنید که می‌توانید بازپخش را بااستفاده از کنترل‌های نمایش‌داده‌شده در اعلان مدیریت کنید.

صفحه دستگاه را قفل کنید. برنامه باید به پخش صدا در پس‌زمینه ادامه دهد و اعلانی در صفحه قفل نمایش دهد. بررسی کنید که می‌توانید بازپخش را بااستفاده از کنترل‌های نمایش‌داده‌شده در اعلان مدیریت کنید.

T-Audio_Notification_Style Audio_Notification_Style شروع بازپخش صدا. با برنامه غیرصوتی دیگری به‌عنوان برنامه پیش‌زمینه تعامل برقرار کنید. بررسی کنید که برنامه‌تان همچنان در پس‌زمینه صدا پخش می‌کند و اعلانی با سبک MediaStyle ایجاد کرده است. Playing nicely with media controls را ببینید.
T-Audio_Playback_Resume Audio_Playback_Resume شروع بازپخش صدا. با برنامه غیرصوتی دیگری به‌عنوان برنامه پیش‌زمینه تعامل برقرار کنید. با برنامه‌تان تعامل برقرار کنید تا به برنامه برتر تبدیل شود. صدا باید ازسر گرفته شود یا میزان صدا باید بازیابی شود. درغیراین‌صورت، برنامه باید به کاربر نشان دهد که بازپخش موقتاً متوقف شده است.

ویدیو

شناسه ویژگی شرح
T-Video_PiP Video_PiP فعال کردن بازپخش ویدیو در حالت تصویردرتصویر در برنامه.
T-Video_Encoding Video_Encoding بررسی کنید که برنامه ویدیو را بااستفاده از استاندارد فشرده‌سازی ویدیو HEVC کدبندی می‌کند.
T-Video_Playback_Background Video_Playback_Background بازپخش ویدیو را شروع کنید. پنجره برنامه را کمینه کنید، برنامه دیگری را باز کنید تا پنجره برنامه به پس‌زمینه منتقل شود. در دستگاه‌های با قابلیت رایانه، پنجره برنامه را از میز کار نمایان خارج کنید. تأیید کنید که بازپخش ویدیو در همه موارد بدون وقفه ادامه می‌یابد.

هم‌رسانی

شناسه ویژگی شرح
T-System_Sharesheet System_Sharesheet با فراخوانی startActivity() با هدف به‌عنوان آرگومان، هدفی ایجاد کنید و فعالیتی را شروع کنید. استفاده از «برگه هم‌رسانی Android» را ببینید. برنامه شما باید «برگه هم‌رسانی Android» را نمایش دهد.

سرویس‌های پس‌زمینه‌ای

شناسه ویژگی شرح
T-Background_Service_Optimization Background_Service_Optimization

از همه ویژگی‌های اصلی برنامه‌تان استفاده کنید. بررسی کنید که هیچ سرویس پس‌زمینه‌ای که برای مدت طولانی اجرا می‌شود شروع نشده باشد.

به برنامه دیگری بروید تا برنامه‌تان به پس‌زمینه منتقل شود. به تنظیمات بروید و بررسی کنید آیا برنامه‌تان سرویسی دارد که در پس‌زمینه اجرا شود. در Android نسخه ۴.۰ و بالاتر، به صفحه برنامه‌ها بروید و برنامه را در برگه درحال اجرا پیدا کنید.

عملکرد و پایداری

عملکرد، پایداری، و جلوه‌های بصری بی‌نقص را درستی‌سنجی کنید.

عملکرد

شناسه ویژگی شرح
T-App_Startup_Time App_Startup_Time برنامه‌تان را راه‌اندازی کنید. بررسی کنید که برنامه سریع بار می‌شود یا اگر بار شدن برنامه بیشتر از دو ثانیه طول می‌کشد، نشانگر پیشرفت یا نشانه مشابهی ارائه می‌دهد.
T-Rendering_Performance Rendering_Performance از همه ویژگی‌های اصلی برنامه‌تان استفاده کنید. بررسی کنید که برنامه حداقل ۶۰ فریم در ثانیه ارائه دهد. از گزینه نمایه پرداز HWUI برای کمک به آزمایش برنامه‌تان استفاده کنید.
T-StrictMode_Compliance StrictMode_Compliance

‫StrictMode را در برنامه‌تان فعال کنید. از همه ویژگی‌های اصلی استفاده کنید. بررسی کنید که برنامه هیچ هشدار عملکرد StrictMode تولید نکند؛ یعنی هنگام آزمایش برنامه هیچ چشمک قرمزی دیده نشود. چشمک قرمز نشان‌دهنده عملکرد بد دررابطه‌با فضای ذخیره‌سازی، دسترسی به شبکه، یا مدیریت حافظه (مانند نشت حافظه) است.

به جمع‌آوری زباله و تأثیر آن بر تجربه کاربری توجه زیادی داشته باشید.

پایداری

شناسه ویژگی شرح
T-Stability_ANR Stability_ANR از همه ویژگی‌های اصلی برنامه‌تان استفاده کنید. بررسی کنید که برنامه ازکار نیفتد یا رشته میانای کاربر را مسدود نکند که باعث ایجاد خطاهای ANR (برنامه پاسخ نمی‌دهد) شود. گزارش پیش‌از راه‌اندازی Google Play را مرور کنید تا مشکلات احتمالی پایداری را شناسایی کنید.

کیت توسعه نرم‌افزار (SDK)

شناسه ویژگی شرح
T-Android_Platform_Compatibility Android_Platform_Compatibility برنامه‌تان را در جدیدترین نسخه عمومی پلاتفرم Android اجرا کنید. از همه ویژگی‌های اصلی استفاده کنید. بررسی کنید که برنامه ازکار نیفتد و بدون ازدست رفتن عملکرد اصلی اجرا شود.
T-Target_SDK_Version Target_SDK_Version،
Compile_SDK_Version
فایل مانیفست Android و پیکربندی ساخت را بررسی کنید تا مطمئن شوید برنامه براساس جدیدترین کیت توسعه نرم‌افزار دردسترس (targetSdk و compileSdk) ساخته شده است.
T-SDK_Maintenance SDK_Maintenance فایل build.gradle برنامه‌تان را ازنظر وجود وابستگی‌های قدیمی بررسی کنید.
T-Non_SDK_Interfaces Non_SDK_Interfaces از ابزار lint «استودیو Android» برای شناسایی استفاده از میانای غیر کیت توسعه نرم‌افزار استفاده کنید. برای روش‌های آزمایشی جایگزین، محدودیت‌های واسط‌های غیرکیت توسعه نرم‌افزار را ببینید.
T-Production_Build_Quality Production_Build_Quality فایل build.gradle برنامه‌تان را ازنظر وجود کتابخانه‌های اشکال‌زدایی بررسی کنید.

باتری

شناسه ویژگی شرح
T-Power_Management Power_Management

از همه ویژگی‌های اصلی برنامه در حالت‌های «چرت زدن» و «آماده‌به‌کار برنامه» استفاده کنید. بررسی کنید که زنگ‌های ساعت، زمان‌سنج‌ها، اعلان‌ها، و همگام‌سازی‌ها در پنجره نگهداری Doze و وقتی برنامه از حالت «آماده‌به‌کار برنامه» خارج می‌شود به‌درستی کار کنند.

رفتار «حالت چرت» و «حالت آماده‌به‌کار برنامه» را بااستفاده از فرمان‌های ADB آزمایش کنید (برای الزامات و دستورالعمل‌ها، به آزمایش با «حالت چرت» و «حالت آماده‌به‌کار برنامه» مراجعه کنید).

برای تشخیص تخلیه غیرمنتظره باتری، از نمایه‌ساز مصرف برق Android Studio یا ابزار Battery Historian همراه با کار پس‌زمینه برنامه‌ریزی‌شده استفاده کنید.

حریم خصوصی و امنیت

آزمایش کردن برای محافظت‌های امنیتی و حریم خصوصی موردانتظار کاربران.

اجازه‌ها

شناسه ویژگی شرح
T-Minimize_Permissions Minimize_Permissions همه اجازه‌هایی را که برنامه‌تان نیاز دارد در فایل مانیفست، در زمان اجرا، و در تنظیمات برنامه در دستگاه (تنظیمات > اطلاعات برنامه) مرور کنید.
T-Sensitive_Permissions Sensitive_Permissions از هر ویژگی برنامه‌تان که درخواست اجازه می‌کند استفاده کنید. تأیید کنید که برنامه فقط برای موارد استفاده اصلی برنامه، اجازه دسترسی به داده‌ها یا سرویس‌های حساس را درخواست می‌کند. بررسی کنید که پیامدهای اعطای اجازه به داده‌ها و سرویس‌های حساس به‌وضوح به کاربر منتقل شده باشد.
T-Runtime_Permissions Runtime_Permissions از همه ویژگی‌های برنامه‌تان که به اجازه نیاز دارند استفاده کنید. درستی‌سنجی کنید که اجازه‌ها به‌صورت تنبل درخواست شده باشند، یعنی فقط وقتی به ویژگی‌ها دسترسی پیدا می‌شود، نه درطول راه‌اندازی برنامه.
T-Permission_Rationale Permission_Rationale از همه ویژگی‌های برنامه‌تان که به اجازه نیاز دارند استفاده کنید. بررسی کنید که برنامه برای کاربر توضیح دهد چرا به این اجازه‌ها نیاز دارد.
T-Graceful_Degradation Graceful_Degradation از همه ویژگی‌های برنامه‌تان که به اجازه نیاز دارند استفاده کنید. اجازه‌ها را رد یا لغو کنید. تأیید کنید که برنامه مورد استفاده جایگزینی ارائه می‌دهد و به عملکرد خود ادامه می‌دهد.

داده‌ها و فایل‌ها

شناسه ویژگی شرح
T-Sensitive_Data_Storage Sensitive_Data_Storage همه داده‌های ذخیره‌شده در حافظه داخلی را مرور کنید. تأیید کنید که داده‌های ذخیره‌شده در فضای ذخیره‌سازی خارجی داده‌های حساس نباشد.
T-Sensitive_Data_Handling Sensitive_Data_Storage نحوه اداره و پردازش داده‌هایی را که از فضای ذخیره‌سازی خارجی بار شده است مرور کنید.
T-Sensitive_Data_Logging Sensitive_Data_Logging درحین نظارت بر گزارش دستگاه، از همه ویژگی‌های اصلی برنامه استفاده کنید. تأیید کنید که هیچ اطلاعات خصوصی‌ای از کاربر ثبت نمی‌شود.
T-Hardware_IDs Hardware_IDs از همه ویژگی‌های اصلی برنامه استفاده کنید. تأیید کنید که برنامه از هیچ شناسه سخت‌افزاری مانند IMEI برای اهداف شناسایی استفاده نمی‌کند.

پشتیبان‌گیری و بازیابی داده‌ها

شناسه ویژگی شرح
T-App_Data_Backup App_Data_Backup

اولویت‌های محلی، پایگاه‌های داده، و تنظیمات برنامه را در دستگاه اصلی پیکربندی کنید. پشتیبان‌گیری ابری یا انتقال دستگاه‌به‌دستگاه (D2D) به دستگاه جدید انجام دهید.

پس‌از انتقال، برنامه را در دستگاه هدف راه‌اندازی کنید و بررسی کنید که اولویت‌های محلی، وضعیت پایگاه داده، و تنظیمات کاربر به‌درستی طبق قوانین «پشتیبان‌گیری خودکار» شما بازیابی شده باشند. برای اطلاع از جزئیات رویه‌های آزمایش، به آزمایش پشتیبان‌گیری و بازیابی مراجعه کنید.

T-App_Logins_Restoration App_Logins_Restoration

بااستفاده از گذرکلید، گذرواژه، یا «ورود به سیستم با Google»، جلسه واردشده به سیستم را در دستگاه اصلی راه‌اندازی کنید. پشتیبان‌گیری ابری یا انتقال دستگاه‌به‌دستگاه (D2D) به دستگاه جدید انجام دهید.

پس‌از انتقال، برنامه را در دستگاه هدف راه‌اندازی کنید و بررسی کنید که اصالت‌سنجی به‌طور خودکار بااستفاده از «بازگرداندن اعتبارنامه‌ها» بدون نمایش صفحه‌های ورود به سیستم یا نیاز به بازیابی حساب بازیابی شده باشد. برای اطلاع از جزئیات رویه‌های آزمایش، به آزمایش کردن «بازگرداندن اعتبارنامه‌ها» مراجعه کنید.

هویت

شناسه ویژگی شرح
T-Autofill_Hints Autofill_Hints از همه ویژگی‌های برنامه که به ورودی کاربر نیاز دارند استفاده کنید. بررسی کنید که برنامه برای تکمیل خودکار فیلدهای ورودی برای داده‌هایی مثل اعتبارنامه‌های حساب و دیگر اطلاعات حساس، راهنمایی ارائه می‌دهد.
T-Credential_Manager Credential_Manager به سیستم برنامه‌تان وارد شوید. مطمئن شوید برنامه Credential Manager برای Android را ادغام می‌کند تا تجربه ورود به سیستمی داشته باشید که پشتیبانی از گذرکلیدها، هویت فدرال، و گذرواژه‌ها را یکپارچه می‌کند.
T-Biometric_Authentication Biometric_Authentication از همه ویژگی‌های برنامه که به اصالت‌سنجی نیاز دارند استفاده کنید. تأیید کنید که برنامه از تراکنش‌های مالی یا اطلاعات حساس، مانند اسناد مهم کاربر، با اصالت‌سنجی زیست‌سنجشی محافظت می‌کند.

مؤلفه‌های برنامه

شناسه ویژگی شرح
T-Component_Export Component_Export همه مؤلفه‌های برنامه تعریف‌شده در فایل مانیفست Android را برای وضعیت صادر کردن مناسب مرور کنید. ویژگی صادرشده باید به‌طور صریح برای همه مؤلفه‌ها تنظیم شود.
T-Component_Permissions Component_Permissions همه اجازه‌هایی را که برنامه‌تان نیاز دارد در فایل مانیفست، در زمان اجرا، و در تنظیمات برنامه در دستگاه (تنظیمات > اطلاعات برنامه) مرور کنید.
T-Component_Protection Component_Protection همه ارائه‌دهندگان محتوا را که در فایل مانیفست Android تعریف شده‌اند مرور کنید. مطمئن شوید هر ارائه‌دهنده protectionLevel مناسبی داشته باشد.

ایجاد شبکه

شناسه ویژگی شرح
T-Network_Security_Traffic Network_Security_Traffic پیکربندی امنیتی شبکه‌ای را اعلام کنید که ترافیک متن ساده را غیرفعال می‌کند، سپس برنامه را آزمایش کنید.
T-Network_Security_Configuration Network_Security_Configuration پیکربندی امنیت شبکه برنامه را بررسی کنید. بررسی کنید که هیچ‌کدام از بررسی‌های lint در پیکربندی ناموفق نباشد.
T-Security_Provider_Initialization Security_Provider_Initialization تأیید کنید که ارائه‌دهنده امنیت در راه‌اندازی برنامه برای خدمات Google Play مقداردهی اولیه شده است.

وب‌نماها

شناسه ویژگی شرح
T-WebView_Asset_Loader WebView_Asset_Loader پیکربندی امنیت شبکه برنامه را بررسی کنید. بررسی کنید که هیچ‌کدام از بررسی‌های lint در پیکربندی ناموفق نباشد.
T-WebView_JavaScript WebView_JavaScript برای هر WebView، به صفحه‌ای بروید که به جاوا اسکریپت نیاز دارد.
T-WebView_Navigation WebView_Asset_Loader،
WebView_JavaScript
در هر WebView، سعی کنید به سایت‌ها و محتوایی پیمایش کنید که مستقیماً توسط برنامه‌تان بار نشده‌اند.

اجرا

شناسه ویژگی شرح
T-App_Bundles App_Bundles بررسی کنید که برنامه از Android App Bundles استفاده می‌کند و کد را به‌طور پویا از خارج از APK برنامه بار نمی‌کند.

رمزنگاری

شناسه ویژگی شرح
T-Cryptographic_Algorithms Cryptographic_Algorithms تأیید کنید که برنامه از الگوریتم‌های رمزنگاری قوی ارائه‌شده توسط پلاتفرم و تولیدکننده عدد تصادفی استفاده می‌کند. همچنین بررسی کنید که برنامه الگوریتم‌های سفارشی را پیاده‌سازی نکند.

Google Play

تأیید کنید که برنامه‌تان برای Google Play آماده است.

خط‌مشی‌ها

شناسه ویژگی شرح
T-Play_Content_Policies Play_Content_Policies,
Play_Content_Rating,
Play_User_Reviews
برای بررسی نمایه توسعه‌دهنده، شرح برنامه، نماگرفت‌ها، گرافیک ویژه، رده‌بندی محتوا، و بازخورد کاربر، به سیستم کنسول توسعه‌دهنده Google Play وارد شوید.

صفحه جزئیات برنامه

شناسه ویژگی شرح
T-Play_Feature_Graphic Play_Feature_Graphic گرافیک ویژه و نماگرفت‌هایتان را بارگیری کنید و آن‌ها را کوچک کنید تا با اندازه‌های نمایشگر در دستگاه‌ها و ابعاد هدف شما مطابقت داشته باشند.
T-Play_Graphic_Assets Play_Feature_Graphic,
Play_Device_References,
Play_Misleading_Content
همه دارایی‌های گرافیکی، رسانه‌ها، نوشتار، کتابخانه‌های کد، و محتوای دیگری را که در برنامه یا بارگیری فایل توسعه بسته‌بندی شده است مرور کنید.

بایگانی

نسخه‌های قبلی دستورالعمل‌های کیفیت برنامه اصلی: