تحضير تطبيقك للإصدار

لإعداد تطبيقك للإصدار، يجب إعداد إصدار إصدار من تطبيقك وإنشائه واختباره. وتتضمن مهام الإعداد مهام تنظيف الرموز الأساسية وتعديل الرموز التي تساعد على تحسين تطبيقك. وتشبه عملية الإنشاء عملية إصدار تصحيح الأخطاء ويمكن إجراؤها باستخدام أدوات JDK وAndroid SDK.

تُعد مهام الاختبار بمثابة فحص نهائي، مما يساعد في ضمان عمل تطبيقك على النحو المتوقع في ظل الظروف الواقعية. يوفّر Firebase مجموعة كبيرة من أجهزة الاختبار المادية والافتراضية من خلال مركز الاختبار الافتراضي لمنصة Firebase، والتي يمكنك استخدامها لتحسين جودة تطبيقك.

عندما تنتهي من إعداد تطبيقك للإصدار، يكون لديك ملف APK موقَّع، يمكنك توزيعه مباشرةً على المستخدمين أو توزيعه من خلال سوق التطبيقات، مثل Google Play.

يلخص هذا المستند المهام الرئيسية التي تحتاج إلى القيام بها لإعداد تطبيقك للإصدار. تنطبق المهام الموضحة في هذه الصفحة على جميع تطبيقات Android، بغض النظر عن كيفية إصدارها أو توزيعها على المستخدمين. إذا كنت تُصدِر تطبيقك من خلال Google Play، يُرجى الاطّلاع على إصدار التطبيق بثقة.

ملاحظة: وفقًا لأفضل الممارسات، يجب التأكّد من أنّ تطبيقك يستوفي جميع معايير الإصدار من حيث الوظائف والأداء والثبات قبل تنفيذ المهام الموضّحة في هذه الصفحة.

توضح كيف تتناسب عملية الإعداد مع عملية التطوير

الشكل 1. يعد التحضير للإصدار مهمة تطوير مطلوبة وهو الخطوة الأولى في عملية النشر.

مهام التحضير للإصدار

لإصدار تطبيقك للمستخدمين، يجب إنشاء حزمة جاهزة للإصدار يمكن للمستخدمين تثبيتها وتشغيلها على أجهزتهم التي تعمل بنظام التشغيل Android. تحتوي الحزمة الجاهزة للإصدار على العناصر نفسها المتوفرة في ملف APK لتصحيح الأخطاء، وهي عبارة عن رمز مصدر مجمّع وموارد وملف بيان وما إلى ذلك، ويتم تصميمها باستخدام أدوات الإصدار نفسها. على عكس ملف APK لتصحيح الأخطاء، يتم توقيع ملف APK الجاهز للإصدار باستخدام شهادتك الخاصة ويتم تحسينه باستخدام أداة zipalign.

تعرض المهام الخمس التي تنفذّها لإعداد تطبيقك للإصدار

الشكل 2. هناك خمس مهام رئيسية لإعداد تطبيقك للإصدار.

عادةً ما تكون مهام التوقيع والتحسين سلسة إذا كنت بصدد إنشاء تطبيقك باستخدام "استوديو Android". على سبيل المثال، يمكنك استخدام استوديو Android مع ملفات إصدار Gradle لتجميع التطبيق وتوقيعه وتحسينه مرة واحدة. يمكنك أيضًا إعداد ملفات إصدار Gradle لتنفيذ الإجراء ذاته عند الإنشاء من سطر الأوامر. للحصول على مزيد من التفاصيل حول استخدام ملفات إصدار Gradle، يمكنك الاطّلاع على ضبط الإصدار.

لإعداد تطبيقك للإصدار، تؤدي عادةً خمس مهام رئيسية، كما هو موضَّح في الشكل 2. قد تتضمن كل مهمة رئيسية مهمة واحدة أو أكثر أصغر حجمًا، بناءً على كيفية إصدار تطبيقك. على سبيل المثال، إذا كنت تصدر تطبيقك من خلال Google Play، من الأفضل إضافة قواعد فلترة خاصة إلى البيان أثناء إعداد التطبيق للإصدار. وبالمثل، للوفاء بإرشادات النشر في Google Play، قد تحتاج إلى إعداد لقطات شاشة وإنشاء نص ترويجي أثناء جمع المواد للإصدار.

عادة ما تتولى تنفيذ المهام المدرجة في الشكل 2 بعد أن تصحح الأخطاء في تطبيقك وتختبره بشكل دقيق. تحتوي حزمة تطوير البرامج (SDK) لنظام التشغيل Android على عدة أدوات لمساعدتك في اختبار تطبيقات Android وتصحيح الأخطاء. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على تصحيح أخطاء تطبيقك واختبار تطبيقك.

جمع المواد والموارد

لإعداد تطبيقك للإصدار، يجب جمع العديد من العناصر الداعمة. ويشمل ذلك كحدّ أدنى مفاتيح التشفير لتوقيع تطبيقك ورمز التطبيق. قد ترغب أيضًا في تضمين اتفاقية ترخيص المستخدم.

مفاتيح التشفير

يتطلب Android أن يتم توقيع جميع حِزم APK رقميًا باستخدام شهادة قبل تثبيتها على الجهاز أو تحديثها. بالنسبة إلى متجر Google Play، على كل التطبيقات التي تم إنشاؤها بعد آب (أغسطس) 2021 استخدام ميزة توقيع التطبيق من Play. غير أنّ تحميل ملف AAB إلى Play Console لا يزال يتطلّب توقيعه باستخدام شهادة المطوّر. يظل بإمكان التطبيقات القديمة توقيعها ذاتيًا، ولكن سواء كنت تستخدم ميزة "توقيع التطبيق" من Play أو توقِّع بنفسك، عليك توقيع تطبيقك قبل تحميله.

للتعرّف على متطلبات الشهادة، يمكنك الاطّلاع على توقيع تطبيقك.

ملاحظة مهمة: يجب أن يكون تطبيقك موقَّعًا باستخدام مفتاح تشفير تنتهي صلاحيته بعد 22 تشرين الأول (أكتوبر) 2033.

قد تحتاج أيضًا إلى الحصول على مفاتيح إصدار أخرى في حال وصول تطبيقك إلى خدمة أو استخدام مكتبة تابعة لجهة خارجية تتطلّب منك استخدام مفتاح يستند إلى مفتاحك الخاص.

رمز التطبيق

يساعد رمز تطبيقك المستخدمين في التعرّف عليه على الشاشة الرئيسية للجهاز وفي نافذة "مشغّل التطبيقات". كما يظهر أيضًا في "إدارة التطبيقات" و"تنزيلاتي" وفي أي مكان آخر. بالإضافة إلى ذلك، تعرض خدمات النشر، مثل Google Play، رمز تطبيقك للمستخدمين. تأكد من أن لديك رمز تطبيق وأنه يتوافق مع إرشادات الرموز الموصى بها.

ملاحظة: إذا أصدرت تطبيقك في Google Play، يجب إنشاء إصدار عالي الدقة من الرمز. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على إضافة إحصاءات المعاينة لعرض تطبيقك.

اتفاقية ترخيص المستخدم

ننصحك بإعداد اتفاقية ترخيص المستخدم النهائي (EULA) لتطبيقك. يمكن أن تساعد هذه الاتفاقية في حماية الشخص والمؤسسة والملكية الفكرية، وننصحك بتوفير واحدة في تطبيقك.

مواد متنوعة

قد تضطر أيضًا إلى إعداد مواد ترويجية وتسويقية للإعلان عن تطبيقك. على سبيل المثال، إذا كنت تُصدر تطبيقك على Google Play، ستحتاج إلى إعداد بعض النص الترويجي وستحتاج إلى إنشاء لقطات شاشة لتطبيقك. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على إضافة مواد عرض لمعاينة ميزات التطبيق.

إعداد تطبيقك للإصدار

بعد جمع كل المواد الداعمة، يمكنك البدء في تهيئة تطبيقك لطرحه. يقدم هذا القسم ملخصًا لتغييرات التهيئة التي ننصح بإجرائها على رمز المصدر وملفات الموارد وبيان التطبيق قبل إصدار التطبيق.

على الرغم من أنّ معظم تغييرات الإعدادات المدرَجة في هذا القسم اختيارية، فهي تُعتبر ممارسات ترميز جيدة ونحن ننصحك بتنفيذها. في بعض الحالات، ربما تكون قد أجريت بالفعل تغييرات التهيئة هذه كجزء من عملية التطوير لديك.

اختيار رقم تعريف مناسب للتطبيق

تأكّد من اختيار معرّف تطبيق يكون مناسبًا طوال فترة استخدام تطبيقك، مع العلم بأنّه لا يمكنك تغيير معرّف التطبيق بعد توزيعه على المستخدمين. لضبطها، استخدِم السمة applicationId في ملف build.gradle أو build.gradle.kts على مستوى الوحدة. للحصول على مزيد من المعلومات، اطّلِع على إعداد رقم تعريف التطبيق.

إيقاف تصحيح الأخطاء

لتحديد ما إذا كان يمكن تصحيح الأخطاء في حزمة APK، استخدِم علامة debuggable للغة Groovy أو العلامة isDebuggable للنص البرمجي بلغة Kotlin:

لغة Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

رائع

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

تفعيل وضبط ميزة تقليص التطبيقات

يمكن برمجة العديد من التحسينات التالية من خلال تفعيل تقليص نسخة الإصدار لديك. على سبيل المثال، يمكنك إضافة قواعد ProGuard لإزالة عبارات السجل، وستحدد أداة shrinker الرموز والموارد غير المستخدمة وتزيلها. يمكن لـ shrinker أيضًا استبدال أسماء الفئات والمتغيرات بأسماء أقصر لتقليل حجم DEX بشكل أكبر.

إيقاف تسجيل الأخطاء

عليك إيقاف تسجيل الدخول قبل إنشاء تطبيقك للإصدار. يمكنك إيقاف التسجيل عن طريق إزالة طلبات البيانات من طُرق Log في ملفات المصدر. وأزِل أيضًا أي ملفات سجلّ أو ملفات اختبار ثابتة تم إنشاؤها في مشروعك.

عليك أيضًا إزالة جميع استدعاءات التتبُّع Debug التي أضفتها إلى رمزك، مثل استدعاءات طريقة startMethodTracing() وstopMethodTracing().

ملاحظة مهمة: تأكّد من إيقاف تصحيح الأخطاء لتطبيقك في حال استخدام WebView لعرض محتوى مدفوع أو في حال استخدام واجهات JavaScript، لأنّ تصحيح الأخطاء يتيح للمستخدمين إدخال نصوص برمجية واستخراج المحتوى باستخدام "أدوات مطوري البرامج في Chrome". لإيقاف تصحيح الأخطاء، استخدِم الطريقة WebView.setWebContentsDebuggingEnabled().

تنظيف أدلة المشروع

عليك تنظيف مشروعك والتأكّد من توافقه مع بنية الدليل الموضحة في نظرة عامة على المشاريع. يمكن أن يؤدي ترك ملفات غير سليمة أو معزولة في مشروعك إلى منع تطبيقك من تجميع البيانات يتسبب في عمل تطبيقك بشكل غير متوقع. على الأقل، قم بتنفيذ مهام التنظيف التالية:

  • راجِع محتوى الأدلة cpp/ وlib/ وsrc/. يجب أن يحتوي دليل cpp/ على الملفات المصدر المرتبطة بـ NDK لنظام التشغيل Android فقط، مثل الملفات المصدر C أو C++ أو ملفات العناوين أو ملفات الإنشاء. يجب أن يحتوي دليل lib/ على ملفات مكتبة تابعة لجهات خارجية أو ملفات مكتبة خاصة فقط، بما في ذلك المكتبات المشتركة والثابتة المنشأة مسبقًا. ويجب أن يحتوي دليل src/ على الملفات المصدر لتطبيقك فقط (ملفات Java وKotlin وAIDL). يجب ألا يحتوي دليل src/ على أي ملفات JAR.
  • تحقَّق من مشروعك بحثًا عن ملفات بيانات خاصة أو مملوكة لا يستخدمها تطبيقك وأزِلها. على سبيل المثال، ابحث في دليل res/ لمشروعك عن الملفات القديمة القابلة للرسم وملفات التنسيق وملفات القيم التي لم تعُد تستخدمها، ثم احذفها.
  • راجِع دليل lib/ للاطّلاع على مكتبات الاختبار وإزالتها إذا لم تعُد تستخدمها تطبيقك.
  • راجِع محتوى دليل assets/ ودليل res/raw/ بحثًا عن ملفات مواد العرض الأولية والملفات الثابتة التي تحتاج إلى تعديلها أو إزالتها قبل الإصدار.

مراجعة إعدادات بيان إصدار Gradle وبيانها

تحقَّق من ضبط عناصر ملفات الإصدار والبيان التالي بشكل صحيح:

  • عنصر <uses-permission>

    يجب تحديد الأذونات ذات الصلة والمطلوبة فقط لتطبيقك.

  • السمتان android:icon وandroid:label

    يجب تحديد قيم لهذه السمات التي تقع في العنصر <application>.

  • versionCode وversionName موقع

    ننصحك بتحديد قيم لهذه السمات التي يمكن العثور عليها في ملف build.gradle أو build.gradle.kts على مستوى الوحدة في التطبيق. وللحصول على مزيد من المعلومات، يمكنك الاطّلاع على إصدار تطبيقك.

هناك العديد من عناصر ملف الإنشاء الإضافية التي يمكنك تحديدها إذا كنت بصدد إصدار تطبيقك على Google Play. على سبيل المثال، السمتان minSdk وtargetSdk اللتان يمكن العثور عليهما في ملف build.gradle أو build.gradle.kts على مستوى وحدة التطبيق. لمزيد من المعلومات حول هذه الإعدادات وإعدادات Google Play الأخرى، يُرجى الاطّلاع على مقالة الفلاتر على Google Play.

معالجة مشاكل التوافق

يوفر Android العديد من الأدوات والتقنيات لجعل تطبيقك متوافقًا مع مجموعة واسعة من الأجهزة. لإتاحة تطبيقك لأكبر عدد من المستخدمين، ننصحك بما يلي:

إتاحة خيارات ضبط متعددة للشاشات
احرص على اتّباع أفضل الممارسات لإتاحة استخدام شاشات متعددة. ومن خلال التوافق مع العديد من إعدادات الشاشات، يمكنك إنشاء تطبيق يعمل بشكل صحيح ويبدو جيدًا على أي من أحجام الشاشات المتوافقة مع Android.
حسِّن تطبيقك لعرضه على شاشات أكبر.
يمكنك تحسين تطبيقك ليعمل بشكل جيد على الأجهزة ذات الشاشات الكبيرة، مثل الأجهزة اللوحية والأجهزة القابلة للطي. على سبيل المثال، يمكن أن تساعد تنسيقات تفاصيل القائمة في تحسين سهولة الاستخدام على الشاشات الأكبر حجمًا.
يمكنك استخدام مكتبات Jetpack.
Jetpack هي مجموعة من المكتبات لمساعدة المطوّرين على اتّباع أفضل الممارسات وتقليل الرموز النموذجية وكتابة الرموز التي تعمل بشكل متّسق على جميع إصدارات Android والأجهزة.

تعديل عناوين URL للخوادم والخدمات

إذا كان تطبيقك يصل إلى خوادم أو خدمات عن بُعد، تأكَّد من استخدام عنوان URL أو مسار الإنتاج في الخادم أو الخدمة وليس عنوان URL تجريبيًا أو مسارًا تجريبيًا.

تنفيذ التراخيص في Google Play

إذا كنت بصدد إطلاق تطبيق مدفوع من خلال Google Play، يمكنك إتاحة ترخيص Google Play. يتيح لك الترخيص التحكّم في الوصول إلى تطبيقك استنادًا إلى ما إذا اشتراه المستخدم الحالي أم لا. إنّ استخدام "ترخيص Google Play" هو إجراء اختياري، حتى إذا كنت تصدر تطبيقك من خلال Google Play.

لمزيد من المعلومات حول "خدمة ترخيص Google Play" وكيفية استخدامها في التطبيق، يُرجى الاطّلاع على صفحة ترخيص التطبيق.

إنشاء تطبيقك لإصداره

بعد الانتهاء من ضبط التطبيق، يمكنك إنشاؤه في ملف APK جاهز للإصدار تم توقيعه وتحسينه. يشتمل ملف JDK على أدوات توقيع ملف APK (Keytool وJarsigner)، بينما تتضمّن حزمة Android SDK الأدوات اللازمة لتجميع ملف APK وتحسينه. إذا كنت تستخدم Android Studio أو كنت تستخدم نظام إصدار Gradle من سطر الأوامر، يمكنك برمجة عملية الإنشاء بأكملها. لمزيد من المعلومات حول ضبط إصدارات Gradle، يمكنك الاطّلاع على ضبط خيارات الإصدار.

إذا كنت تستخدم نظام دمج مستمر، يمكنك ضبط مهمة لبرمجة عملية الإصدار. لا يقتصر ذلك على إنشاء ملف APK للإصدار أو تنسيق AAB. يمكنك أيضًا ضبطه لتحميل أدوات الإصدار تلقائيًا إلى Play Console.

الإنشاء باستخدام Android Studio

يمكنك استخدام نظام إصدار Gradle المتوافق مع "استوديو Android" لإنشاء ملف APK جاهز للإصدار وموقّع باستخدام مفتاحك الخاص والمحسّن. للاطّلاع على كيفية إعداد الإصدارات وتشغيلها من "استوديو Android"، يمكنك الاطّلاع على إنشاء تطبيقك وتشغيله.

تفترض عملية الإنشاء أن لديك شهادة ومفتاحًا خاصًا مناسبان لتوقيع تطبيقك. وإذا لم تكن لديك شهادة ومفتاح خاص مناسبين، يمكن أن يساعدك Android Studio في إنشاء شهادة. لمزيد من المعلومات حول عملية التوقيع، يمكنك الاطّلاع على توقيع تطبيقك.

تجهيز الخوادم والموارد الخارجية

إذا كان تطبيقك يعتمد على خادم بعيد، تأكَّد من أنّ الخادم آمن وأنّه معدّ للاستخدام في الإنتاج. وهذا الأمر مهم على وجه الخصوص إذا كنت تنفذ الفوترة داخل التطبيق في تطبيقك وكنت تنفِّذ خطوة التحقق من التوقيع على خادم بعيد.

بالإضافة إلى ذلك، إذا كان تطبيقك يجلب المحتوى من خادم بعيد أو من خدمة في الوقت الفعلي (مثل خلاصة محتوى)، تأكَّد من أن المحتوى الذي تقدّمه محدّث وجاهز للإنتاج.

اختبار تطبيقك للإصدار

يساعد اختبار إصدار الإصدار من تطبيقك على ضمان تشغيل التطبيق بشكل صحيح في ظل ظروف الجهاز والشبكة الإعلانية الواقعية. في الوضع المثالي، اختبر تطبيقك على جهاز واحد على الأقل بحجم هاتف محمول وجهاز واحد بحجم جهاز لوحي للتحقق من ضبط الحجم المناسب لعناصر واجهة المستخدم ومن قبول أداء التطبيق وكفاءة البطارية. قد يكون Firebase Test Lab مفيدًا أيضًا لإجراء الاختبار على مجموعة متنوعة من الأجهزة وإصدارات نظام التشغيل Android المختلفة.

كنقطة بداية للاختبار، يُرجى الاطّلاع على جودة التطبيق الأساسية. عند الانتهاء من الاختبار والرضا عن أن إصدار الإصدار من تطبيقك يعمل بشكل صحيح، يمكنك إصدار تطبيقك للمستخدمين. لمزيد من المعلومات، راجع إصدار التطبيق للمستخدمين.