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

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

تُعدّ مهام الاختبار بمثابة عملية تحقّق نهائية تساعد في ضمان أداء تطبيقك على النحو المتوقّع في ظروف الاستخدام الواقعية. يوفّر 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 لإزالة بيانات التسجيل، وستتعرّف أداة تقليص حجم التطبيق على الرموز البرمجية والموارد غير المستخدَمة وتزيلها. يمكن لأداة تقليص حجم التطبيق أيضًا استبدال أسماء الفئات والمتغيّرات بأسماء أقصر لتقليل حجم ملفات DEX بشكل أكبر.

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

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

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

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

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

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

  • راجِع محتوى الأدلة cpp/ وlib/ وsrc/. يجب أن يحتوي الدليل cpp/ على ملفات المصدر المرتبطة بـ Android NDK فقط، مثل ملفات المصدر C أو ++C أو ملفات العناوين أو ملفات makefile. يجب أن يحتوي الدليل 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)، بينما تتضمّن حزمة تطوير البرامج (SDK) لنظام التشغيل Android أدوات لتجميع ملف APK وتحسينه. إذا كنت تستخدم &quot;استوديو Android&quot; أو نظام الإصدار Gradle من سطر الأوامر، يمكنك برمجة عملية الإصدار بالكامل. لمزيد من المعلومات حول ضبط إصدارات Gradle، يُرجى الاطّلاع على ضبط تنويعات التصميم.

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

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

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

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

إعداد الخوادم والموارد الخارجية

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

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

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

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

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