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


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

تتكامل أداة App Distribution مع خدمة مشاركة التطبيقات مع الفريق الداخلي في Google Play لمعالجة ملفات AAB التي تحمّلها وتقديم حِزم APK محسّنة لتناسب إعدادات أجهزة المختبِرين. يتيح لك توزيع ملفات بتنسيق AAB إجراء ما يلي:

  • تشغيل حِزم APK المحسّنة (التي يوفّرها Google Play) والمتوافقة مع أجهزة المختبِرين

  • اكتشاف المشاكل المتعلّقة بأجهزة معيّنة وتصحيحها

  • اختبِر ميزات حِزم التطبيقات، مثل عرض الميزات في Play وعرض المواد في Play.

  • تقليل حجم عمليات التنزيل للمختبِرين

الأذونات المطلوبة

لتحميل حِزمات تطبيق Android إلى "App Distribution"، عليك ربط تطبيق Firebase بتطبيق في "Google Play". يجب أن يكون لديك مستوى الوصول المطلوب لتنفيذ هذه الإجراءات.

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

ينطبق الجدول التالي على ربط تطبيق Firebase بتطبيق في Google Play، بالإضافة إلى تحميل حِزمات تطبيق Android.

الإجراء في وحدة تحكّم "Firebase" إذن "إدارة الهوية وإمكانية الوصول" المطلوب أدوار "إدارة الهوية وإمكانية الوصول" التي تتضمّن الأذونات المطلوبة تلقائيًا الأدوار الإضافية المطلوبة
ربط تطبيق Firebase بتطبيق في Google Play firebase.playLinks.update أحد الأدوار التالية: إذن الوصول إلى حساب مطوِّر على Google Play بصفتك مشرفًا
تحميل ملفات بتنسيق AAB إلى App Distribution firebaseappdistro.releases.update أحد الأدوار التالية: ––

قبل البدء

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

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

  2. افتح صفحة App Distribution في وحدة تحكّم Firebase. اختَر مشروع Firebase عندما يُطلب منك ذلك، ثم اختَر تطبيقك باستخدام أداة التبديل بين التطبيقات، وانقر على البدء.

  3. لإنشاء رابط Firebase يؤدي إلى Google Play وتحميل حِزمات تطبيق Android، تأكَّد من أنّ تطبيقك يستوفي المتطلبات التالية:

    • يجب أن يكون التطبيق في Google Play وتطبيق Android في Firebase مسجَّلين باستخدام اسم الحزمة نفسه.

    • التطبيق في Google Play مُعدّ على لوحة بيانات التطبيق وموزّع على أحد مسارات Google Play (الاختبار الداخلي أو الاختبار المغلق أو الاختبار المفتوح أو الإصدار العلني).

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

  4. ربط تطبيق Android على Firebase بحساب المطوِّر على Google Play:

    1. في وحدة تحكّم Firebase، انتقِل إلى إعدادات المشروع، ثم اختَر علامة التبويب عمليات الدمج.

    2. في بطاقة Google Play، انقر على ربط.
      إذا كان لديك روابط تؤدي إلى Google Play، انقر على إدارة بدلاً من ذلك.

    3. اتّبِع التعليمات الظاهرة على الشاشة لتفعيل عملية دمج App Distribution واختَر تطبيقات Android على Firebase التي تريد ربطها بـ Google Play.

    مزيد من المعلومات حول الربط بـ Google Play

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

عندما تكون مستعدًا لتوزيع إصدار تجريبي من تطبيقك على المختبِرين، أنشئ حزمة تطبيق Android (AAB) (انتقِل إلى مستندات Android Studio للحصول على التعليمات).

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

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

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

    appdistribution:distribute options
    --app

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

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

    الرمز المميز لإعادة التحميل الذي تتم طباعته عند مصادقة بيئة CI باستخدام واجهة سطر الأوامر (CLI) في Firebase (راجِع استخدام واجهة سطر الأوامر (CLI) مع أنظمة 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"

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

    --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. إذا لم يتم ضبط هذه العلامة، سيتم حظر الأمر إلى أن تكتمل الاختبارات، وسيتم الخروج برمز تعذُّر في حال تعذُّر أي من الاختبارات.

    --results-bucket

    حزمة Google Cloud Storage (GCS) مخصّصة يتم فيها تخزين نتائج الاختبارات. وفي حال ترك هذا الحقل فارغًا، يتم استخدام الحزمة التلقائية. يجب أن يكون المستودع مملوكًا لمشروع تم تفعيل الفوترة فيه، ويؤدي تحديد مستودع إلى فرض رسوم فوترة مقابل مساحة التخزين المستخدَمة.

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

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

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