توزيع إصدارات حِزم التطبيق على المختبِرين - درس تطبيقي حول الترميز

1. نظرة عامة

image10.png

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

أهداف الدورة التعليمية

  • كيفية ربط تطبيقك على Firebase بمنصة Google Play
  • كيفية تجميع تطبيقك وإنشائه كحِزمة تطبيق
  • كيفية إنشاء إصدار ومشاركته مع مختبِرين مباشرين
  • كيفية تنزيل الإصدارات الجديدة واختبارها بصفتك مختبِرًا

المتطلبات

  • أحدث إصدار من استوديو Android
  • ملف حِزمة موقَّع أنشأته من "استوديو Android"
  • حساب مطوِّر على Google Play تكون أنت المالك أو المشرف عليه
  • يتم إعداد تطبيقك على Google Play في لوحة بيانات تطبيق Google Play، وتكون حالته على النحو التالي:
    • يتم توزيع التطبيق على أحد مسارات Google Play (الاختبار الداخلي أو الاختبار المغلق أو الاختبار المفتوح أو الإصدار العلني).
    • اكتملت مراجعة التطبيق في Google Play وتم نشره. يتم نشر تطبيقك إذا كان عمود حالة التطبيق يعرض إحدى الحالات التالية: "الاختبار الداخلي" (وليس "الاختبار الداخلي لمسوّدة") أو "الاختبار المغلق" أو "الاختبار المفتوح" أو "الإصدار العلني".
  • عنوان بريد إلكتروني يمكنك استخدامه كمختبِر لتلقّي دعوات الإصدارات الجديدة من Firebase

2. إنشاء مشروع Firebase

  1. سجِّل الدخول إلى وحدة تحكّم Firebase باستخدام حسابك على Google.
  2. انقر على الزر لإنشاء مشروع جديد، ثم أدخِل اسم المشروع (على سبيل المثال، App Bundles Codelab).
  3. انقر على متابعة.
  4. إذا طُلب منك ذلك، راجِع بنود Firebase واقبلها، ثم انقر على متابعة.
  5. (اختياري) فعِّل ميزة "المساعدة المستندة إلى الذكاء الاصطناعي" في وحدة تحكّم Firebase (المعروفة باسم "Gemini في Firebase").
  6. في هذا الدرس العملي، لا تحتاج إلى "إحصاءات Google"، لذا أوقِف خيار "إحصاءات Google".
  7. انقر على إنشاء مشروع، وانتظِر إلى أن يتم توفير مشروعك، ثم انقر على متابعة.
  8. انقر على متابعة.
  9. إذا طُلب منك ذلك، راجِع بنود Firebase واقبلها، ثم انقر على متابعة.
  10. في هذا الدرس العملي، لا تحتاج إلى "إحصاءات Google"، لذا أوقِف خيار "إحصاءات Google".
  11. انقر على إنشاء مشروع، وانتظِر إلى أن يتم توفير مشروعك، ثم انقر على متابعة.

إضافة حِزمة التطبيق إلى المشروع

  1. في وحدة تحكّم Firebase، انقر على إضافة تطبيق.

    image5.png
  2. عند تسجيل تطبيقك، احرص على استخدام اسم الحزمة نفسه المُستخدَم في التطبيق الذي تم تحميله إلى حساب المطوِّر الخاص بك على Google Play. أخيرًا، انقر على تسجيل التطبيق.
  3. أكمِل الخطوات المتبقية لإضافة ملف إعداد Firebase الخاص بتطبيقك (google-services.json) إلى تطبيقك. تجدر الإشارة إلى أنّه بالنسبة إلى Android، لا تتضمّن "توزيع التطبيقات" حزمة تطوير برامج (SDK) من Firebase لإضافتها إلى تطبيقك.
  4. انقر على المتابعة إلى وحدة التحكّم.
  1. في "وحدة تحكّم Firebase"، انتقِل إلى إعدادات المشروع.

    image2.png
  2. في علامة التبويب عمليات الدمج، انقر على ربط في بطاقة Google Play.
  3. اتّبِع التعليمات الظاهرة على الشاشة لتفعيل عملية دمج App Distribution، ثم اختَر تطبيق Firebase الذي أنشأته حديثًا لربطه بمنصة Google Play.

بعد إكمال هذه الخطوات، سيتم ربط تطبيقك على Firebase بتطبيقك في حساب المطوِّر على Google Play طالما أنّ أسماء حِزم التطبيقات متطابقة.

3- إضافة ميزة App Distribution إلى مشروعك

إضافة المكوّن الإضافي لنظام Gradle المتوافق مع App Distribution

الآن، ستستخدم "استوديو Android" لإضافة ميزة App Distribution والمكوّن الإضافي لنظام Gradle الخاص بها إلى تطبيقك.

  1. في ملف Gradle على مستوى المشروع (android/build.gradle.kts)، أضِف مكوّن App Distribution الإضافي المتوافق مع Gradle إلى الحظر plugins.
    plugins {
         //...
    
         // Add the App Distribution Gradle plugin
         id("com.google.firebase.appdistribution") version "4.0.0" apply false
    }
    
  2. في ملف Settings Gradle على مستوى المشروع (android/settings.gradle.kts)، أضِف مستودع Maven من Google إلى الحظر pluginManagement.
     pluginManagement {
         // Check that you have Google's Maven repository (if not, add it).
         repositories {
             google()
             mavenCentral()
         }
     }
    
  3. في ملف Gradle على مستوى التطبيق (android/app/build.gradle.kts)، أضِف المكوّن الإضافي App Distribution إلى الحظر plugins.
    plugins {
         //...
    
         // Add the App Distribution plugin
         id("com.google.firebase.appdistribution")
    }
    
  4. إذا كنت تستخدم خادم وكيل أو جدار حماية تابعًا لمؤسسة، أضِف خاصية نظام Java التالية التي تتيح لخدمة App Distribution تحميل إصداراتك إلى Firebase:
    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

مصادقة مشروع Firebase

قبل استخدام مكوّن Gradle الإضافي، عليك مصادقة مشروعك على Firebase. في هذا الدرس العملي، عليك تسجيل الدخول إلى حسابك على Google باستخدام Firebase CLI.

نفِّذ الأمر التالي في جذر مشروع Android:

~/your-android-project$ firebase login

تحتوي المستندات المرجعية على مزيد من التفاصيل.

4. ضبط خصائص الحِزمة في "استوديو Android"

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

في app/build.gradle.kts، أضِف قسم firebaseAppDistribution وضمِّن المَعلمات التالية:

  • appID: رقم تعريف تطبيق Firebase الخاص بتطبيقك. يمكنك العثور عليه في علامة التبويب عام ضمن إعدادات المشروع.
  • artifactType: نوع ملف تطبيقك (AAB).
  • testers: عناوين البريد الإلكتروني للمختبِرين في هذا الدرس التطبيقي، أضِف عنوان بريدك الإلكتروني حتى تتمكّن من اختبار الإصدار بعد توزيعه.

على سبيل المثال:

    android {

       // ...

       buildTypes {
            getByName("release") {
                firebaseAppDistribution {
                  appId = "yourAppId"
                  artifactType = "AAB"
                  testers = "ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }

        // ...
    }

يمكنك أيضًا تجاوز القيم التي تم ضبطها في build.gradle.kts من خلال تمرير وسيطات سطر الأوامر في شكل -PappDistribution-property-name=property-value.

5- إنشاء إصدار وتوزيعه

  1. نفِّذ مهمة bundleVariant Gradle لإنشاء ملف حِزم التطبيق:
    $ ./gradlew :base:bundleRelease
    
  2. ابحث عن الحزمة في دليل إنشاء تطبيقك (الموقع التلقائي هو app/build/outputs/bundle/release).
  3. لتوزيع الإصدار، أنشئ الهدفَين bundleRelease وappDistributionUploadRelease باستخدام برنامج Gradle المغلّف الخاص بمشروعك. أدرِج رمز Firebase المميّز (الرمز الذي تلقّيته في الخطوة 3: إضافة App Distribution إلى تطبيقك).
    export FIREBASE_TOKEN=your_firebase_token
    
    ./gradlew --stop // Only needed for environment variable changes
    
    ./gradlew bundleRelease appDistributionUploadRelease
    

سيتلقّى المختبِرون الآن دعوات عبر البريد الإلكتروني لتنزيل الإصدار واختباره. بصفتك المطوِّر، يمكنك الآن تتبُّع الإصدار في علامة التبويب الإصدارات ضِمن لوحة بيانات App Distribution.

6. تنزيل إصدارك واختباره

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

  1. على جهاز الاختبار، سجِّل الدخول إلى حساب البريد الإلكتروني الخاص بالمختبِر وافتح الدعوة من Firebase.

    image6.png
  2. سجِّل الدخول باستخدام حسابك على Google واقبل الدعوة لاختبار الإصدار الموزَّع. يمكنك أيضًا تنزيل Firebase App Tester، ما يمنع إضافة الإصدارات التي تم تنزيلها إلى مجلد Downloads على جهازك. تعرض هذه الصفحة أيضًا معلومات إضافية عن الإصدارات، مثل مستوى تقدّم عملية التنزيل وإصدار التطبيق.

    image9.png
  3. انقر على تنزيل في الإصدار لتثبيته من "متجر Play".
  4. عندما يُطلب منك ذلك، أكمل الخطوات المتبقية لتفعيل ميزة "مشاركة التطبيقات مع الفريق الداخلي" (تظهر التعليمات على جهاز الاختبار ولا تحتاج إلى إكمالها إلا مرة واحدة).

بعد اكتمال عملية التنزيل، سيظهر إصدارك تلقائيًا كاختصار على الشاشة الرئيسية لجهازك.

7. تهانينا!

لقد استخدمت للتوّ خدمة Firebase App Distribution لتحميل حِزمة تطبيق وتوزيع إصدار على المختبِرين.

الخطوات التالية