لإنشاء تطبيق عالي الجودة، اتّبِع الإرشادات الأساسية لجودة التطبيقات.
تحدّد الإرشادات الحدّ الأدنى من الجودة الذي يجب أن تستوفيه جميع التطبيقات.
جودة التطبيقات التكيّفية
تعمل تطبيقات Android على مجموعة كبيرة من الأجهزة، بدءًا من الهواتف الصغيرة إلى الأجهزة اللوحية والأجهزة القابلة للطي وأجهزة الكمبيوتر المكتبي والشاشات المتصلة وأنظمة الترفيه والمعلومات في السيارات والتلفزيون والواقع الممتد. تتيح أوضاع النوافذ، مثل تقسيم الشاشة والعرض في نافذة، تشغيل التطبيقات في أجزاء من الشاشة يمكن تغيير حجمها.
اتّبِع إرشادات جودة التطبيقات التكيُّفية، بالإضافة إلى إرشادات الجودة الأساسية للتطبيقات، من أجل:
- إنشاء تطبيقات محسَّنة لجميع أشكال الأجهزة وأحجام الشاشات
- احصل على ترتيب أعلى لتطبيقاتك في بطاقات بيانات Google Play ونتائج البحث
- اكتساب المزيد من المستخدمين وزيادة معدّل الحفاظ عليهم
الإرشادات
تساعدك الإرشادات الأساسية التالية في إنشاء تطبيق أساسي عالي الجودة.
تجربة المستخدم
توفّر أنماط التصميم المرئي والتفاعل العادية في Android تجربة مستخدم متّسقة وبديهية.
استخدِم مكوّنات التصميم المتعدد الأبعاد لإنشاء واجهة مستخدم تطبيقك بدلاً من مكوّنات نظام 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 | يضمن التطبيق سهولة قراءة النصوص وفقراتها من خلال حصر طول السطر على 45 إلى 75 حرفًا (بما في ذلك المسافات) لكل لغة من اللغات التي يتيحها التطبيق. |
| 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 |
تقدّم الإشعارات معلومات ذات صلة بتطبيقك.
|
| Conversation_Quality | T-Notification_Quality |
بالنسبة إلى تطبيقات المراسلة والتطبيقات الاجتماعية والمحادثات:
|
تسهيل الاستخدام
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Touch_Target_Size | T-Touch_Target_Size | يجب ألا يقل حجم مساحات اللمس عن 48 بكسل مستقل الكثافة. اطّلِع على إرشادات أحجام الأهداف في التصميم المتعدد الأبعاد. |
| Visual_Contrast | T-Visual_Contrast |
يجب أن يحافظ نص التطبيق ومحتوى المقدّمة على نِسب التباين التالية مع خلفية التطبيق:
|
| 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 |
يتجنّب التطبيق تشغيل خدمات طويلة في الخلفية بدون داعٍ لضمان تشغيل جهاز المستخدم بسلاسة. ملاحظة: يفرض النظام قيودًا مختلفة على الخدمات التي تُشغَّل في الخلفية. في ما يلي أمثلة على الاستخدامات السيئة للخدمات التي تُشغَّل في الخلفية:
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على المهام في الخلفية. |
الأداء والثبات
يجب أن يوفّر تطبيقك الأداء الأمثل والثبات والتوافق وسرعة الاستجابة.
الأداء
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| App_Startup_Time | T-App_Startup_Time | يتم تحميل التطبيق بسرعة أو يقدّم ملاحظات على الشاشة للمستخدم (مؤشر تقدُّم أو رمز مماثل) إذا استغرق تحميل التطبيق أكثر من ثانيتَين. |
| Rendering_Performance | T-Rendering_Performance | يعرض التطبيق اللقطات كل 16 مللي ثانية (أو أقل) لعرض 60 لقطة على الأقل في الثانية. للحصول على مساعدة بشأن مشاكل العرض، يُرجى الاطّلاع على العرض البطيء. |
| StrictMode_Compliance | T-StrictMode_Compliance | عند تفعيل StrictMode (راجِع قسم اختبار StrictMode)، لن تظهر أي ومضات حمراء (تحذيرات الأداء من StrictMode) عند اختبار التطبيق. |
الثبات
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Stability_ANR | T-Stability_ANR | لا يتعطّل التطبيق أو يحظر سلسلة واجهة المستخدم، ما يؤدي إلى حدوث أخطاء "التطبيق لا يستجيب" (ANR). استخدِم تقرير الإطلاق التجريبي في Google Play لتحديد المشاكل المحتملة المتعلّقة بالثبات. بعد النشر، راقِب صفحة مؤشرات Android الحيوية في Google Play Console. |
SDK
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Android_Platform_Compatibility | T-Android_Platform_Compatibility | يعمل التطبيق على أحدث إصدار متاح للجميع من نظام Android الأساسي بدون أي تعطُّل أو تأثير سلبي بالغ في الوظيفة الأساسية. |
| Target_SDK_Version | T-Target_SDK_Version | يستهدف التطبيق أحدث إصدار من حزمة تطوير البرامج (SDK) لنظام التشغيل Android اللازم للتوافق مع متطلبات Google Play من خلال ضبط قيمة targetSdk في ملف build.gradle الخاص بوحدة التطبيق. |
| Compile_SDK_Version | T-Target_SDK_Version | يتم إنشاء التطبيق باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لنظام التشغيل Android من خلال ضبط قيمة compileSdk في ملف build.gradle الخاص بوحدة التطبيق. |
| SDK_Maintenance | T-SDK_Maintenance, T-Non_SDK_Interfaces |
أن تكون أي حزم تطوير برامج (SDK) مستخدَمة من Google أو من جهات خارجية محدَّثة ويجب أن تكون أي تحسينات على حِزم تطوير البرامج (SDK) هذه تتعلّق بالثبات أو التوافق أو الأمان متاحة للمستخدمين في الوقت المناسب. بالنسبة إلى حِزم تطوير البرامج (SDK) من Google، استخدِم حِزم SDK المستندة إلى خدمات Google Play عندما تكون متاحة. تتوافق حِزم تطوير البرامج (SDK) هذه مع الأنظمة القديمة، وتتلقّى تحديثات تلقائية، وتقلّل حجم حزمة التطبيق، وتستفيد من الموارد المتوفّرة على الجهاز بكفاءة. |
| Non_SDK_Interfaces | T-Non_SDK_Interfaces | لا يستخدم التطبيق واجهات غير متوفّرة في حزمة SDK. |
| Production_Build_Quality | T-Production_Build_Quality | لا يتضمّن تطبيق الإصدار العلني أي مكتبات لتصحيح الأخطاء، لأنّ تضمينها في التطبيق قد يؤدي إلى حدوث مشاكل في الأداء والأمان. |
البطارية
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Power_Management | T-Power_Management |
يتوافق التطبيق بشكل صحيح مع ميزات إدارة الطاقة "الاستراحة" و"تطبيقات وضع الاستعداد". يمكن للتطبيقات طلب إعفاء من صيانة الطاقة. يُرجى الاطّلاع على دعم حالات الاستخدام الأخرى في التحسين لميزتَي "الاستراحة" و"تطبيقات وضع الاستعداد". |
الخصوصية والأمان
يتعامل التطبيق مع بيانات المستخدمين ومعلوماتهم الشخصية بأمان ويوفّر مستويات مناسبة من الأذونات.
يجب أن تلتزم التطبيقات المنشورة على "متجر Google Play" أيضًا بسياسات بيانات المستخدمين في Google Play لحماية خصوصية المستخدمين.
الأذونات
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Minimize_Permissions | T-Minimize_Permissions | يطلب التطبيق الحدّ الأدنى فقط من الأذونات اللازمة لدعم حالة الاستخدام الحالية. بالنسبة إلى بعض الأذونات، مثل الموقع الجغرافي، يستخدم التطبيق مواصفات تقريبية بدلاً من دقيقة إن أمكن. يُرجى الاطّلاع على تقليل طلبات الحصول على الأذونات. |
| Sensitive_Permissions | T-Sensitive_Permissions |
يطلب التطبيق إذنًا للوصول إلى البيانات الحسّاسة (مثل مجموعات أذونات الوصول إلى الرسائل القصيرة أو سجلّ المكالمات أو الموقع الجغرافي) أو الخدمات التي تتطلّب دفع رسوم (مثل تطبيق Dialer أو الرسائل القصيرة) فقط عندما تكون مرتبطة مباشرةً بحالات الاستخدام الأساسية للتطبيق. ويجب الإفصاح بوضوح للمستخدم عن الآثار المترتبة على هذه الأذونات. استنادًا إلى كيفية استخدام تطبيقك للأذونات، قد تتوفّر طريقة بديلة لتنفيذ حالة استخدام تطبيقك بدون الاعتماد على الوصول إلى المعلومات الحساسة. على سبيل المثال، بدلاً من طلب الأذونات المتعلقة بجهات اتصال المستخدم، استخدِم غرضًا ضمنيًا لطلب الوصول. |
| 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 |
يحتفظ التطبيق ببيانات المستخدم وإعداداته وحالته في النُسخ الاحتياطية على السحابة الإلكترونية وعمليات النقل من جهاز إلى آخر. يمكنك تنفيذ ميزة الاحتفاظ التلقائي بنسخة احتياطية وضبط |
| App_Logins_Restoration | T-App_Logins_Restoration |
يستعيد التطبيق تلقائيًا حسابات المستخدمين وحالة تسجيل الدخول عندما يُعدّ المستخدم جهازًا جديدًا. يمكنك تنفيذ ميزة استعادة بيانات الاعتماد باستخدام Credential Manager لإعادة مصادقة المستخدمين تلقائيًا بدون فرض تسجيل الدخول يدويًا أو اتّباع خطوات استرداد الحساب. |
الهوية
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Autofill_Hints | T-Autofill_Hints | يقدّم التطبيق تلميحات لملء بيانات اعتماد الحساب تلقائيًا وغيرها من المعلومات الحساسة، مثل معلومات بطاقة الائتمان والعنوان الجغرافي ورقم الهاتف. |
| Credential_Manager | T-Credential_Manager | يدمج التطبيق Credential Manager لنظام التشغيل Android لتوفير تجربة تسجيل دخول سلسة توحّد إمكانية استخدام مفاتيح المرور والهوية الموحّدة وكلمات المرور. |
| Biometric_Authentication | T-Biometric_Authentication | يدعم التطبيق المصادقة بالمقاييس الحيوية لحماية المعاملات المالية أو المعلومات الحساسة، مثل مستندات المستخدمين المهمة. |
مكوّنات التطبيق
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| Component_Export | T-Component_Export |
يضبط التطبيق السمة يتم تصدير مكوّنات التطبيق التي تشارك البيانات مع تطبيقات أخرى أو المكوّنات التي يجب أن تستدعيها تطبيقات أخرى فقط. |
| Component_Permissions | T-Component_Permissions |
تتّبع جميع الأهداف وعمليات البث أفضل الممارسات:
|
| Component_Protection | T-Component_Protection |
تستخدم جميع المكوّنات التي تشارك المحتوى بين التطبيقات السمة يجب ألا تعتمد التطبيقات على الوصول إلى قائمة الحزم المثبَّتة. |
الاتصال بالشبكات
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| 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
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| WebView_Asset_Loader | T-WebView_Asset_Loader, T-WebView_Navigation |
لا تستخدِم setAllowUniversalAccessFromFileURLs() للوصول إلى المحتوى المحلي. بدلاً من ذلك، استخدِم WebViewAssetLoader. |
| WebView_JavaScript | T-WebView_JavaScript, T-WebView_Navigation |
لا تستخدم طرق عرض الويب على الإصدار Android 6.0 (المستوى 23 من واجهة برمجة التطبيقات والإصدارات الأحدث)، استخدِم قنوات رسائل HTML بدلاً من ذلك. |
التنفيذ
| رقم التعريف | الاختبارات | الوصف |
|---|---|---|
| App_Bundles | T-App_Bundles |
لا يحمّل التطبيق الرمز البرمجي ديناميكيًا من خارج حزمة APK الخاصة به. استخدِم مجموعات حزمات تطبيق Android التي تتضمّن ميزتَي عرض الميزات في Play وعرض المواد في Play. اعتبارًا من أغسطس 2021، أصبح استخدام "مجموعات حزمات تطبيق 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 Emulator طريقة رائعة لاختبار تطبيقك على إصدارات Android المختلفة ودقة الشاشة. يمكنك إعداد أجهزة محاكاة (أجهزة Android افتراضية) لتمثيل أشكال الأجهزة الأكثر شيوعًا ومجموعات الأجهزة والبرامج لقاعدة المستخدمين المستهدَفة. اختبِر مجموعة متنوعة من أشكال الأجهزة باستخدام المحاكيات التالية (كحد أدنى):
- الأجهزة القابلة للطي: شاشة قابلة للطي مقاس 7.6 بوصة مع شاشة خارجية (مُدرَجة ضمن الهواتف في أداة إدارة أجهزة Android الافتراضية)
- جهاز لوحي: Pixel C 9.94 بوصة (2,560 بكسل × 1,800 بكسل)
- اختبار إشعارات التطبيق على الأجهزة الجوّالة: إقران جهاز جوّال أو محاكي بمحاكي Wear OS: Wear OS Round 1.84 بوصة
الأجهزة: يجب أن تتضمّن بيئة الاختبار عددًا صغيرًا من الأجهزة الفعلية التي تمثّل أشكال التصميم الرئيسية ومجموعات الأجهزة والبرامج المتاحة للمستهلكين. ليس عليك إجراء الاختبار على كل جهاز متوفّر في السوق. ركِّز على عدد صغير من الأجهزة التمثيلية، حتى لو كان جهازًا واحدًا أو جهازين لكل شكل جهاز.
مختبرات اختبار الأجهزة: يمكنك أيضًا استخدام خدمات تابعة لجهات خارجية، مثل مختبر Firebase الافتراضي، لاختبار تطبيقك على مجموعة متنوعة من الأجهزة.
الاختبار باستخدام أحدث إصدار من Android: بالإضافة إلى اختبار إصدارات Android التي تمثّل قاعدة المستخدمين المستهدَفة، يجب دائمًا إجراء الاختبارات على أحدث إصدار من Android لضمان عدم تأثير أحدث التغييرات في السلوك سلبًا في تجربة المستخدم في تطبيقك.
لمزيد من الإرشادات حول الاختبار، بما في ذلك اختبار الوحدات واختبار الدمج واختبار واجهة المستخدم، يُرجى الاطّلاع على أساسيات اختبار تطبيقات Android.
StrictMode
لاختبار الأداء، فعِّل StrictMode في تطبيقك. استخدِم StrictMode لرصد العمليات التي قد تؤثر في الأداء والوصول إلى الشبكة وقراءة الملفات وكتابتها. ابحث عن العمليات التي يُحتمل أن تكون بها مشاكل في كل من سلسلة التعليمات الرئيسية وسلاسل التعليمات الأخرى.
يمكنك إعداد سياسة مراقبة لكل سلسلة محادثات باستخدام StrictMode.ThreadPolicy.Builder وتفعيل جميع عمليات المراقبة المتوافقة في
ThreadPolicy باستخدام detectAll().
تفعيل الإشعارات المرئية لانتهاكات السياسات في "ThreadPolicy" باستخدام
penaltyFlashScreen()
الاختبارات
تساعدك اختبارات جودة التطبيق الأساسية في تقييم الجودة الأساسية لتطبيقك، ويمكنك دمج الاختبارات أو مجموعات الاختبارات معًا في خطة الاختبار.
تجربة المستخدم
اختبِر التطبيق لضمان توفير تجربة مستخدم متّسقة وسهلة.
سهولة الاستخدام
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-Consistent_UX | Consistent_UX |
انتقِل إلى جميع أجزاء التطبيق، بما في ذلك جميع الشاشات ومربّعات الحوار والإعدادات وجميع مسارات المستخدم. اتّبِع الخطوات التالية:
|
| 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 |
مراجعة جميع كتل النص في التطبيق. التحقق من أن طول سطر النص وكتلة النص يقتصر على 45-75 حرفًا (بما في ذلك المسافات) لسهولة القراءة. تحقَّق مما يلي:
|
| 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 |
فعِّل جميع أنواع الإشعارات التي يمكن للتطبيق عرضها واطّلِع عليها في درج الإشعارات. توسيع الإشعارات حيثما ينطبق ذلك (الإصدار 4.1 من نظام التشغيل Android والإصدارات الأحدث)، والنقر على جميع الإجراءات المتاحة |
تسهيل الاستخدام
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-Touch_Target_Size | Touch_Target_Size | تأكَّد من أنّ مساحات اللمس تحافظ على حجم وموضع متّسقَين وسهلَي الاستخدام لجميع أحجام الشاشات وإعداداتها. للحصول على معلومات حول أدوات تسهيل الاستخدام، يُرجى الاطّلاع على Accessibility Scanner. |
| 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 | بدء تشغيل الصوت يجب أن يطلب التطبيق التركيز على الصوت. عند توقُّف تشغيل الصوت، يجب أن يتخلّى التطبيق عن التركيز على الصوت (يحدث ذلك تلقائيًا للتطبيقات التي تستهدف الإصدار 12 من نظام التشغيل Android (مستوى واجهة برمجة التطبيقات 31) والإصدارات الأحدث). |
| T-Audio_Focus_Change | Audio_Focus_Change | بدء تشغيل الصوت ابدأ تشغيل الصوت في تطبيق آخر، ويجب أن يستجيب تطبيقك للتغيير في تركيز الصوت ويوقف تشغيل الصوت أو يخفض مستوى صوت التشغيل. |
| T-Audio_Playback_Background | Audio_Playback_Background | بدء تشغيل الصوت تفاعَل مع تطبيق آخر غير صوتي كتطبيق يعمل في المقدّمة. من المفترض أن يواصل التطبيق تشغيل الصوت في الخلفية وأن يعرض إشعارًا في شريط الحالة. تأكَّد من أنّه يمكنك إدارة التشغيل باستخدام عناصر التحكّم المعروضة في الإشعار. اقفل شاشة الجهاز. من المفترض أن يواصل التطبيق تشغيل الصوت في الخلفية وأن يعرض إشعارًا على شاشة القفل. تأكَّد من أنّه يمكنك إدارة التشغيل باستخدام عناصر التحكّم المعروضة في الإشعار. |
| T-Audio_Notification_Style | Audio_Notification_Style | بدء تشغيل الصوت تفاعَل مع تطبيق آخر غير صوتي يعمل في المقدّمة، وتأكَّد من أنّ تطبيقك يواصل تشغيل الصوت في الخلفية وأنشأ إشعارًا بنمط MediaStyle. يُرجى الاطّلاع على التوافق مع أدوات التحكّم في الوسائط. |
| 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 4.0 والإصدارات الأحدث، انتقِل إلى شاشة التطبيقات وابحث عن التطبيق في علامة التبويب قيد التشغيل. |
الأداء والثبات
تحقَّق من الأداء والثبات والمرئيات المثالية.
الأداء
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-App_Startup_Time | App_Startup_Time | افتح تطبيقك وتأكَّد من تحميله بسرعة أو من توفُّر مؤشر للتقدُّم أو رمز مماثِل إذا استغرق تحميل التطبيق أكثر من ثانيتَين. |
| T-Rendering_Performance | Rendering_Performance | استخدِم جميع الميزات الرئيسية في تطبيقك، وتأكَّد من أنّه يعرض 60 لقطة في الثانية على الأقل. استخدِم خيار تحديد الملف الشخصي لعرض واجهة مستخدم الأجهزة للمساعدة في اختبار تطبيقك. |
| T-StrictMode_Compliance | StrictMode_Compliance |
فعِّل " يُرجى الانتباه جيدًا إلى عملية "تجميع الموارد المهملة" وتأثيرها في تجربة المستخدم. |
الثبات
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| 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 وإعدادات التصميم للتأكّد من أنّ التطبيق تم إنشاؤه باستخدام أحدث حزمة تطوير برامج (SDK) متاحة (targetSdk وcompileSdk). |
| T-SDK_Maintenance | SDK_Maintenance | راجِع ملف build.gradle الخاص بتطبيقك بحثًا عن أي تبعيات قديمة. |
| T-Non_SDK_Interfaces | Non_SDK_Interfaces | استخدِم أداة lint في "استوديو Android" لرصد استخدام الواجهات غير المضمّنة في حزمة تطوير البرامج (SDK). يُرجى الاطّلاع على القيود المفروضة على الواجهات غير المضمّنة في حزمة تطوير البرامج (SDK) للتعرّف على طرق الاختبار البديلة. |
| T-Production_Build_Quality | Production_Build_Quality | راجِع ملف build.gradle الخاص بتطبيقك بحثًا عن أي مكتبات لتصحيح الأخطاء مضمّنة فيه. |
البطارية
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-Power_Management | Power_Management |
استخدام جميع ميزات التطبيق الرئيسية في وضعَي "السكون" و"تطبيقات وضع الاستعداد" تحقَّق من أنّ المنبّهات والموقّتات والإشعارات وعمليات المزامنة تعمل بشكل صحيح في نافذة الصيانة في وضع "الاستراحة" وعند خروج التطبيق من وضع "تطبيقات وضع الاستعداد". اختبِر سلوك ميزتَي "الاستراحة" و"تطبيقات وضع الاستعداد" باستخدام أوامر ADB (راجِع الاختبار باستخدام ميزتَي "الاستراحة" و"تطبيقات وضع الاستعداد" للاطّلاع على المتطلبات والإرشادات). لتشخيص استنزاف البطارية غير المتوقّع، استخدِم Power Profiler في "استوديو Android" أو أداة 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". |
عناصر WebView
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-WebView_Asset_Loader | WebView_Asset_Loader | راجِع إعدادات أمان الشبكة في التطبيق. تأكَّد من عدم تعذُّر إجراء أي عمليات فحص lint على الإعدادات. |
| T-WebView_JavaScript | WebView_JavaScript | لكل WebView، انتقِل إلى صفحة تتطلّب JavaScript. |
| T-WebView_Navigation | WebView_Asset_Loader, WebView_JavaScript |
في كل WebView، حاوِل الانتقال إلى المواقع الإلكترونية والمحتوى الذي لا يتم تحميله مباشرةً من خلال تطبيقك. |
التنفيذ
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-App_Bundles | App_Bundles | تأكَّد من أنّ التطبيق يستخدم مجموعة حزمات تطبيق Android ولا يحمّل الرموز البرمجية ديناميكيًا من خارج حزمة 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 Console لمراجعة ملفك الشخصي كمطوّر ووصف التطبيق ولقطات الشاشة والرسم المميز وتقييم المحتوى وملاحظات المستخدمين. |
صفحة تفاصيل التطبيق
| رقم التعريف | الميزة | الوصف |
|---|---|---|
| T-Play_Feature_Graphic | Play_Feature_Graphic | نزِّل الرسم المميز ولقطات الشاشة، ثم غيِّر حجمها لتتطابق مع أحجام العرض على الأجهزة وأشكال الأجهزة التي تستهدفها. |
| T-Play_Graphic_Assets | Play_Feature_Graphic, Play_Device_References, Play_Misleading_Content |
راجِع جميع أصول الرسومات والوسائط والنصوص ومكتبات الرموز البرمجية والمحتوى الآخر المُضمَّن في التطبيق أو ملف التوسعة الذي يتم تنزيله. |
أرشفة
النُسخ السابقة من إرشادات الجودة الأساسية للتطبيقات: