يوضّح هذا الدليل كيفية توزيع مجموعات حزمات تطبيق 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
|
أحد الأدوار التالية: | –– |
قبل البدء
أضِف Firebase إلى مشروع Android إذا لم يسبق لك إجراء ذلك. في نهاية سير العمل هذا، سيكون لديك تطبيق Firebase Android في مشروع Firebase.
إذا كنت لا تستخدم أي منتجات أخرى من Firebase، ما عليك سوى إنشاء مشروع وتسجيل تطبيقك. وإذا قرّرت استخدام منتجات إضافية، احرص على إكمال جميع الخطوات الواردة في مقالة إضافة Firebase إلى مشروع Android.
لإنشاء رابط Firebase إلى Google Play وتحميل ملفات AAB، تأكّد من أنّ تطبيقك يستوفي المتطلبات التالية:
تم تسجيل التطبيق في Google Play وتطبيق Firebase لنظام التشغيل Android باستخدام اسم الحزمة نفسه.
يتم إعداد التطبيق في Google Play من لوحة بيانات التطبيق ويتم توزيعه على إحدى قنوات Google Play (الاختبار الداخلي أو الاختبار المغلق أو الاختبار المفتوح أو قناة الإصدار العلني).
اكتملت مراجعة التطبيق في Google Play وتم نشره. يتم نشر تطبيقك إذا كان عمود حالة التطبيق يعرض إحدى الحالات التالية: الاختبار الداخلي (ليس اختبارًا داخليًا) أو الاختبار المغلق أو الاختبار المفتوح أو الإنتاج.
اربط تطبيق Android على Firebase بحساب المطوِّر على Google Play:
في "وحدة تحكُّم Firebase"، انتقِل إلى
، ثم اختَر علامة التبويب عمليات الدمج. إعدادات المشروع في بطاقة Google Play، انقر على ربط.
إذا كان لديك روابط تؤدي إلى Google Play، عليك النقر على إدارة بدلاً من ذلك.اتّبِع التعليمات الظاهرة على الشاشة لتفعيل عملية دمج App Distribution واختَر تطبيقات Firebase Android التي تريد ربطها بـ Google Play.
مزيد من المعلومات عن الربط بخدمة Google Play
الخطوة 1. إنشاء تطبيقك
عندما تكون مستعدًا لتوزيع إصدار تجريبي من تطبيقك على المختبِرين، يمكنك إنشاء تنسيق AAB (يمكنك الانتقال إلى مستندات "استوديو Android" للحصول على التعليمات).
الخطوة 2. توزيع تطبيقك على المختبِرين
لتوزيع تطبيقك على المختبِرين، حمِّل ملف تطبيقك باستخدام واجهة سطر الأوامر من Firebase:
- ثبِّت أحدث إصدار من واجهة سطر الأوامر في Firebase أو حدِّثه إلى أحدث إصدار (ننصحك بتنزيل البرنامج الثنائي المستقل الخاص بواجهة سطر الأوامر الخاصة بنظام التشغيل الذي تستخدمه). احرص على تسجيل الدخول واختبار إمكانية الوصول إلى مشاريعك.
- في صفحة "توزيع التطبيقات" على "وحدة تحكُّم Firebase"، اختَر التطبيق الذي تريد توزيعه، ثم انقر على البدء.
-
شغِّل الأمر
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 بجانب المختبِر في أحد الإصدارات. ويمكن تجديد الدعوة من خلال إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبِر.
الخطوات اللاحقة
تنفيذ الملاحظات داخل التطبيق لتسهّل على المختبِرين إرسال الملاحظات والآراء حول تطبيقك (بما في ذلك لقطات الشاشة).
تعرَّف على كيفية عرض تنبيهات داخل التطبيق للمختبِرين عند توفُّر إصدارات جديدة من تطبيقك للتثبيت.
تعرَّف على أفضل الممارسات لتوزيع تطبيقات Android إلى مختبِري ضمان الجودة باستخدام CI/CD.