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


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

قبل البدء

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

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

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

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

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

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

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

    appdistribution:distribute options
    --app

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

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

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

    --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

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

    • 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 بجانب المختبِر في الإصدار. يمكن تجديد الدعوة من خلال إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبِر.

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