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

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

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

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

  • كشف المشاكل الخاصة بالجهاز وتصحيح الأخطاء فيها

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

  • يُرجى تقليل حجم المحتوى الذي يتم تنزيله للمختبِرين.

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

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

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

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

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

قبل البدء

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

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

  2. لإنشاء رابط Firebase إلى Google Play وتحميل ملفات AAB، تأكّد من أنّ تطبيقك يستوفي المتطلبات التالية:

    • تم تسجيل التطبيق في Google Play وتطبيق Firebase لنظام التشغيل Android باستخدام اسم الحزمة نفسه.

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

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

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

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

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

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

    مزيد من المعلومات عن الربط بخدمة Google Play

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

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

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

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