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


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

تتكامل App Distribution مع خدمة "مشاركة التطبيقات مع الفريق الداخلي" في 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 إذا لم يسبق لك إجراء ذلك. في نهاية سير العمل هذا، سيكون لديك تطبيق Android على Firebase في مشروعك على Firebase.

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

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

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

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

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

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

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

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

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

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

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

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

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

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