يمكنك توزيع الإصدارات على المختبِرين باستخدام واجهة سطر الأوامر في Firebase. تتيح لك أداة واجهة سطر الأوامر (CLI) تحديد المختبِرين وملاحظات الإصدار لإصدار معيّن، وتوزيع الإصدار وفقًا لذلك.
قبل البدء
أضِف Firebase إلى مشروع Apple الخاص بك، في حال لم يسبق لك إجراء ذلك.
إذا لم تكن تستخدم أي منتجات أخرى من Firebase، ما عليك سوى إنشاء مشروع وتسجيل تطبيقك. ومع ذلك، إذا قررت استخدام منتجات إضافية في المستقبل، تأكَّد من إكمال جميع الخطوات الواردة في الصفحة المرتبطة أعلاه.
افتح صفحة App Distribution في وحدة تحكّم Firebase. اختَر مشروع Firebase عندما يُطلب منك ذلك، ثم اختَر تطبيقك باستخدام أداة التبديل بين التطبيقات، وانقر على البدء.
الخطوة 1: توزيع تطبيقك على المختبِرين
لتوزيع تطبيقك على المختبِرين، حمِّل ملف IPA باستخدام واجهة سطر الأوامر (CLI) في Firebase:
- ثبِّت أحدث إصدار من Firebase CLI أو حدِّثه (ننصحك بتنزيل الملف الثنائي المستقل لـ CLI الخاص بنظام التشغيل). احرص على تسجيل الدخول واختبار إمكانية الوصول إلى مشاريعك.
-
شغِّل الأمر
appdistribution:distributeلتحميل تطبيقك وتوزيعه على المختبِرين. استخدِم المَعلمات التالية لضبط التوزيع:appdistribution:distribute options --appمطلوب: رقم تعريف تطبيق Firebase الخاص بتطبيقك. يمكنك العثور على معرّف التطبيق في وحدة تحكّم Firebase، ضمن صفحة الإعدادات العامة.
--app 1:1234567890:ios: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.ipa \ --app 1:1234567890:ios:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtتعرض Firebase CLI الروابط التالية بعد تحميل الإصدار. تساعدك هذه الروابط في إدارة البرامج الثنائية والتأكّد من حصول المختبِرين والمطوّرين الآخرين على الإصدار الصحيح:
firebase_console_uri- رابط إلى وحدة تحكّم "Firebase" يعرض إصدارًا واحدًا يمكنك مشاركة هذا الرابط مع مطوّرين آخرين في مؤسستك.-
testing_uri: رابط يؤدي إلى الإصدار في تجربة المختبِر (مقطع ويب لنظام التشغيل iOS) يتيح للمختبِرين الاطّلاع على ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. ويجب أن يحصل المختبِر على إذن الوصول إلى الإصدار ليتمكّن من استخدام الرابط. binary_download_uri: رابط موقَّع لتنزيل الملف الثنائي للتطبيق وتثبيته مباشرةً (ملف IPA). تنتهي صلاحية الرابط بعد ساعة واحدة.
إدارة المختبِرين والمجموعات
بالإضافة إلى توزيع الإصدارات، يمكنك أيضًا استخدام
appdistribution:testers:addوappdistribution:testers:removeلدعوة مختبِرين جُدد أو إزالة مختبِرين حاليين من مشروع Firebase.بعد إضافة مختبِر إلى مشروعك على Firebase، يمكنك إضافته إلى إصدارات فردية. بعد إزالة أحد المختبِرين، لن يتمكّن من الوصول إلى الإصدارات في مشروعك. يُرجى العِلم أنّ المختبِرين الذين تمت إزالتهم مؤخرًا يمكنهم الاحتفاظ بإمكانية الوصول إلى إصداراتك لفترة زمنية معيّنة.
على سبيل المثال:
firebase appdistribution:testers:add anothertester@email.com moretesters@email.comfirebase 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-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
بعد توزيع الإصدار، يصبح متاحًا في لوحة بيانات App Distribution في وحدة تحكّم Firebase لمدة 150 يومًا (خمسة أشهر). عندما يتبقى 30 يومًا على انتهاء صلاحية الإصدار، يظهر إشعار بانتهاء الصلاحية في كل من وحدة التحكّم وقائمة الإصدارات الخاصة بالمختبِر على جهازه الاختباري.
يتلقّى المختبِرون الذين لم تتم دعوتهم لاختبار التطبيق دعوات عبر البريد الإلكتروني للبدء، ويتلقّى المختبِرون الحاليون إشعارات عبر البريد الإلكتروني تفيد بأنّ إصدارًا جديدًا جاهز للاختبار. لمعرفة كيفية تثبيت التطبيق الاختباري، يُرجى الاطّلاع على مقالة الإعداد كمختبِر. يمكنك مراقبة حالة كل مختبِر، سواء قَبِل الدعوة أم لا، وسواء نزّل التطبيق أم لا، في وحدة تحكّم Firebase.
أمام المختبِرين 30 يومًا لقبول دعوة اختبار التطبيق قبل انتهاء صلاحيتها. عندما يتبقّى 5 أيام على انتهاء صلاحية الدعوة، يظهر إشعار بانتهاء الصلاحية في وحدة تحكّم Firebase بجانب المختبِر في الإصدار. يمكن تجديد الدعوة من خلال إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبِر.
الخطوات التالية
لتسجيل المزيد من الأجهزة يدويًا أو آليًا، يُرجى الاطّلاع على تسجيل أجهزة iOS إضافية.
تعرَّف على أفضل الممارسات لتوزيع تطبيقات Apple على مختبِري تأكيد الجودة باستخدام CI/CD وfastlane.