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

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

قبل البدء

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

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

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

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

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

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

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

    appdistribution:خيارات توزيع التطبيقات
    --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
    

    يعرض واجهة سطر الأوامر في 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
    

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

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

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

الخطوات اللاحقة