توزيع تطبيقات Android على المختبِرين باستخدام واجهة سطر الأوامر في Firebase


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

قبل البدء

أضِف Firebase إلى مشروع Android، في حال لم يسبق لك إجراء ذلك.

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

الخطوة 1: إنشاء تطبيقك

عندما تكون مستعدًا لتوزيع إصدار تجريبي من تطبيقك على المختبِرين، يمكنك إنشاء حزمة APK باستخدام العملية المعتادة. يجب توقيع حزمة APK باستخدام مفتاح debugging أو مفتاح توقيع التطبيق.

الخطوة 2: توزيع تطبيقك على المختبِرين

لتوزيع تطبيقك على المختبِرين، حمِّل ملف تطبيقك باستخدام واجهة برمجة التطبيقات Firebase:

  1. ثبِّت أحدث إصدار من واجهة Firebase CLI أو عدِّله (ننصح بتنزيل الإصدار الثنائي المستقل لواجهة سطر الأوامر المخصّصة لنظام التشغيل). احرص على تسجيل الدخول واختبار إمكانية الوصول إلى projects.
  2. في صفحة App Distribution في وحدة تحكّم Firebase، اختَر التطبيق الذي تريد توزيعه، ثم انقر على البدء.
  3. يمكنك تنفيذ الأمر appdistribution:distribute لتحميل تطبيقك و توزيعه على المختبِرين. استخدِم المَعلمات التالية لضبط توزيع المحتوى:

    appdistribution:distribute options
    --app

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

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    رمز إعادة التنشيط الذي يتم طباعته عند مصادقة بيئة التكامل المستمر باستخدام واجهة سطر أوامر Firebase (اطّلِع على استخدام واجهة سطر الأوامر مع أنظمة التكامل المستمر للحصول على مزيد من المعلومات).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    ملاحظات الإصدار لهذا الإصدار

    يمكنك تحديد ملاحظات الإصدار مباشرةً:

    --release-notes "Text of release notes"

    أو حدِّد مسار ملف نص عادي:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    عناوين البريد الإلكتروني للمختبِرين الذين تريد دعوتهم

    يمكنك تحديد المختبِرين كقائمة مفصولة بفواصل لعناوين البريد الإلكتروني التالية:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    أو يمكنك تحديد مسار ملف نص عادي يحتوي على قائمة مفصولة بفواصل لعناوين البريد الإلكتروني:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    مجموعات المختبِرين التي تريد دعوتها (راجِع إدارة المختبِرين). يتم تحديد المجموعات باستخدام الأسماء البديلة للمجموعات، والتي يمكنك الاطّلاع عليها في وحدة تحكّم Firebase.

    يمكنك تحديد المجموعات كقائمة مفصولة بفواصل:

    --groups "qa-team, trusted-testers"

    أو يمكنك تحديد مسار ملف نصي عادي يحتوي على قائمة مفصولة بفواصل بأسماء المجموعات:

    --groups-file "/path/to/groups.txt"
    --debug

    علامة يمكنك تضمينها لطباعة إخراج السجلّ التفصيلي.

    --test-devices
    --test-devices-file

    تشكّل أنواع التوزيع التالية جزءًا من الميزة التجريبية للمختبِر الآلي.

    الأجهزة الاختبارية التي تريد توزيع الإصدارات عليها (راجِع الاختبارات المبرمَجة).

    يمكنك تحديد المختبِرين كقائمة مفصولة بفواصل لعناوين البريد الإلكتروني التالية:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    يمكنك بدلاً من ذلك تحديد مسار ملف نصي عادي يحتوي على قائمة بالأجهزة الاختبارية مفصولة بفواصل منقوطة:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    اسم المستخدم لتسجيل الدخول التلقائي الذي سيتم استخدامه أثناء الاختبارات المبرمَجة.

    --test-password
    --test-password-file

    كلمة مرور تسجيل الدخول التلقائي التي سيتم استخدامها أثناء الاختبارات المبرمَجة

    أو يمكنك تحديد مسار ملف نصي عادي يحتوي على كلمة مرور:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    اسم المورد لحقل اسم المستخدم لتسجيل الدخول التلقائي الذي سيتم استخدامه أثناء الاختبارات المبرمَجة.

    --test-password-resource

    اسم المورد لحقل كلمة المرور لتسجيل الدخول التلقائي الذي سيتم استخدامه أثناء الاختبارات المبرمَجة.

    --test-non-blocking

    تنفيذ الاختبارات المبرمَجة بشكل غير متزامن انتقِل إلى "وحدة تحكُّم Firebase" للاطّلاع على نتائج الاختبار التلقائي.

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

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    تُخرج أداة Firebase CLI الروابط التالية بعد تحميل الإصدار. تساعدك هذه الروابط في إدارة الملفات الثنائية وضمان حصول المختبِرين وغيرهم من المطوّرين على الإصدار المناسب:

    • firebase_console_uri - رابط يؤدي إلى وحدة تحكّم Firebase تعرض إصدارًا واحدًا. يمكنك مشاركة هذا الرابط مع مطوّرين آخرين في مؤسستك.
    • testing_uri - رابط يؤدي إلى الإصدار في تجربت ا المختبِر (تطبيق أصلي لنظام التشغيل Android) يتيح للمختبِرين الاطّلاع على ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. يحتاج المختبِر إلى الوصول إلى الإصدار لاستخدام الرابط.
    • binary_download_uri - رابط موقَّع يؤدي مباشرةً إلى تنزيل ملف التطبيق الثنائي ومثبّته (ملف APK أو حزمة AAB) . تنتهي صلاحية الرابط بعد ساعة واحدة.

    إدارة المختبِرين والمجموعات

    بالإضافة إلى توزيع الإصدارات، يمكنك أيضًا استخدام appdistribution:testers:add وappdistribution:testers:remove لدعوة مختبِرين جُدد أو إزالة المختبِرين الحاليين من مشروعك على Firebase.

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

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

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    يجب الفصل بين عناوين البريد الإلكتروني للمختبِرين بمسافة. يمكنك أيضًا تحديد المختبِرين باستخدام --file /path/to/testers.txt.

    إذا كان لديك عدد كبير من المختبِرين، ننصحك باستخدام المجموعات: يمكنك استخدام appdistribution:group:create و appdistribution:group:delete لإنشاء مجموعات أو حذفها في مشروعك على Firebase.

    استخدِم --group-alias لتحديد مجموعة للسماح بتنفيذ الأمرَين appdistribution:testers:add و appdistribution:testers:remove.

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

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

بعد توزيع الإصدار، يصبح متوفّرًا في لوحة بيانات App Distribution في وحدة تحكّم Firebase لمدة 150 يومًا (خمسة أشهر). عندما يتبقّى 30 يومًا على انتهاء صلاحية الإصدار، يظهر إشعار بانتهاء الصلاحية في كلٍّ من وحدة التحكّم وقائمة الإصدارات لدى المختبِر على جهاز الاختبار.

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

أمام المختبِرين 30 يومًا لقبول دعوة اختبار التطبيق قبل أن تنتهي صلاحيتها. عندما تبقى 5 أيام على انتهاء صلاحية الدعوة، يظهر إشعار بانتهاء الصلاحية في وحدة تحكّم Firebase بجانب المختبِر في الإصدار. يمكن تجديد الدعوة من خلال إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبِر.

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