يصف هذا المستند كيفية توزيع إصدارات APK على المختبرين باستخدام fastlane ، وهو نظام أساسي مفتوح المصدر يعمل على إنشاء تطبيقات iOS وAndroid وإصدارها تلقائيًا. يتبع هذا المستند الإرشادات المحددة في ملف Fastfile
. بعد إعداد Fastlane و Fastfile
، يمكنك دمج توزيع التطبيقات مع تكوين Fastlane الخاص بك.
قبل ان تبدأ
إذا لم تكن قد قمت بذلك بالفعل، فأضف Firebase إلى مشروع Android الخاص بك .
إذا كنت لا تستخدم أي منتجات Firebase أخرى، فما عليك سوى إنشاء مشروع وتسجيل تطبيقك. ومع ذلك، إذا قررت استخدام منتجات إضافية في المستقبل، فتأكد من إكمال جميع الخطوات الموجودة على الصفحة المرتبطة أعلاه.
الخطوة 1. إعداد الخط السريع
لإضافة توزيع التطبيق إلى تكوين Fastlane الخاص بك، قم بتشغيل الأمر التالي من جذر مشروع Android الخاص بك:
fastlane add_plugin firebase_app_distribution
إذا طالبك الأمر بخيار، فحدد
Option 3: RubyGems.org
.
الخطوة 2. المصادقة باستخدام Firebase
قبل أن تتمكن من استخدام المكون الإضافي fastlane، يجب عليك أولاً المصادقة مع مشروع Firebase الخاص بك بإحدى الطرق التالية. افتراضيًا، يبحث المكون الإضافي fastlane عن بيانات الاعتماد من Firebase CLI في حالة عدم استخدام طريقة مصادقة أخرى.
تتيح لك المصادقة باستخدام حساب الخدمة استخدام البرنامج الإضافي بمرونة مع نظام التكامل المستمر (CI) الخاص بك. هناك طريقتان لتوفير بيانات اعتماد حساب الخدمة:
- قم بتمرير ملف مفتاح حساب الخدمة الخاص بك إلى إجراء
firebase_app_distribution
. قد تجد هذه الطريقة مناسبة إذا كان لديك بالفعل ملف مفتاح حساب الخدمة الخاص بك في بيئة البناء الخاصة بك. - قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
للإشارة إلى ملف مفتاح حساب الخدمة الخاص بك. قد تفضل هذه الطريقة إذا كان لديك بالفعل بيانات اعتماد التطبيق الافتراضية (ADC) التي تم تكوينها لخدمة Google أخرى (على سبيل المثال، Google Cloud).
- في Google Cloud Console، حدد مشروعك وأنشئ حساب خدمة جديدًا.
- أضف دور مسؤول توزيع تطبيق Firebase .
- قم بإنشاء مفتاح json خاص وانقل المفتاح إلى موقع يمكن الوصول إليه من خلال بيئة البناء الخاصة بك. تأكد من الاحتفاظ بهذا الملف في مكان آمن ، لأنه يمنح وصول المسؤول إلى App Distribution في مشروع Firebase الخاص بك.
- تجاوز هذه الخطوة إذا قمت بإنشاء تطبيقك بعد 20 سبتمبر 2019: في وحدة تحكم Google APIs، قم بتمكين Firebase App Distribution API. عند المطالبة، حدد المشروع الذي يحمل نفس اسم مشروع Firebase الخاص بك.
قم بتوفير أو تحديد بيانات اعتماد حساب الخدمة الخاص بك:
- لتمرير مفتاح حساب الخدمة الخاص بك إلى إجراء
firebase_app_distribution
الخاص بمسارك، قم بتعيين معلمةservice_credentials_file
مع المسار إلى ملف JSON الخاص بمفتاحك الخاص لتحديد موقع بيانات الاعتماد الخاصة بك مع ADC، قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
على المسار لملف JSON للمفتاح الخاص. على سبيل المثال:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
لمزيد من المعلومات حول المصادقة مع ADC، اقرأ توفير بيانات الاعتماد لتطبيقك.
- لتمرير مفتاح حساب الخدمة الخاص بك إلى إجراء
راجع تسجيل الدخول باستخدام Firebase CLI للحصول على إرشادات حول كيفية مصادقة مشروعك.
الخطوة 3. قم بإعداد Fastfile الخاص بك وقم بتوزيع تطبيقك
- في المسار
./fastlane/Fastfile
، أضف كتلةfirebase_app_distribution
. استخدم المعلمات التالية لتكوين التوزيع:معلمات firebase_app_distribution app
مطلوب : معرف تطبيق Firebase لتطبيقك. يمكنك العثور على معرف التطبيق في وحدة تحكم Firebase، في صفحة الإعدادات العامة .
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
رمز التحديث الذي تتم طباعته عند مصادقة بيئة CI الخاصة بك باستخدام Firebase CLI (اقرأ استخدام CLI مع أنظمة CI لمزيد من المعلومات).
service_credentials_file
المسار إلى ملف json الخاص بحساب خدمة Google. انظر أعلاه لمعرفة كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة .
android_artifact_type
يحدد نوع ملف Android (APK أو AAB).
android_artifact_path
يستبدل
apk_path
(مهمل). المسار المطلق إلى ملف APK أو AAB الذي تريد تحميله. إذا لم يكن محددًا، يحدد الخط السريع موقع الملف من المسار الذي تم إنشاء الملف فيه.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
علم منطقي. يمكنك ضبط هذا على
true
لطباعة إخراج التصحيح المطول.
platform :android do desc "My awesome app" lane :distribute do build_android_app(...) # build_android_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:android:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
لإتاحة التصميم للمختبرين، قم بتشغيل المسار الخاص بك:
fastlane <lane>
القيمة المرجعة للإجراء هي تجزئة تمثل الإصدار الذي تم تحميله. هذا التجزئة متاح أيضًا باستخدام lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
. لمزيد من المعلومات حول الحقول المتاحة في هذا التجزئة، راجع وثائق REST API .
يقوم المكون الإضافي Fastlane بإخراج الروابط التالية بعد تحميل الإصدار. تساعدك هذه الروابط في إدارة الثنائيات والتأكد من حصول المختبرين والمطورين الآخرين على الإصدار الصحيح:
- رابط إلى وحدة تحكم Firebase يعرض إصدارًا واحدًا. يمكنك مشاركة هذا الرابط مع المطورين الآخرين في مؤسستك.
- رابط للإصدار في تجربة المختبر (تطبيق Android الأصلي) يتيح للمختبرين عرض ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. يحتاج المُختبر إلى الوصول إلى الإصدار حتى يتمكن من استخدام الرابط.
- رابط موقع يقوم بتنزيل البرنامج الثنائي للتطبيق وتثبيته مباشرةً (ملف APK أو AAB). تنتهي صلاحية الرابط بعد ساعة واحدة.
بعد توزيع الإصدار الخاص بك، يصبح متاحًا في لوحة معلومات توزيع التطبيقات بوحدة تحكم Firebase لمدة 150 يومًا. عندما يكون الإصدار بعد 30 يومًا من انتهاء الصلاحية، يظهر إشعار انتهاء الصلاحية في وحدة التحكم وفي قائمة الإصدارات الخاصة بالمختبر على جهاز الاختبار الخاص به.
يتلقى المختبرون الذين لم تتم دعوتهم مسبقًا لاختبار التطبيق دعوات عبر البريد الإلكتروني للبدء. يتلقى المختبرون الحاليون إشعارات عبر البريد الإلكتروني تفيد بأن الإصدار الجديد جاهز للاختبار. لمعرفة كيفية تثبيت تطبيق الاختبار، راجع دليل إعداد جهاز الاختبار . يمكنك مراقبة حالة كل مختبر لتحديد ما إذا كانوا قد قبلوا الدعوة وما إذا كانوا قد قاموا بتنزيل التطبيق في وحدة تحكم Firebase.
(اختياري) لزيادة رقم الإصدار الخاص بك تلقائيًا في كل مرة تقوم فيها بإنشاء إصدار جديد في App Distribution، يمكنك استخدام الإجراء firebase_app_distribution_get_latest_release
، وعلى سبيل المثال، المكون increment_version_code
fastlane . توفر التعليمة البرمجية التالية مثالاً لكيفية زيادة رقم الإصدار الخاص بك تلقائيًا:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end
لمعرفة المزيد حول إجراء firebase_app_distribution_get_latest_release
، راجع الحصول على معلومات حول أحدث إصدار لتطبيقك .
الخطوة 4 (اختياري). إدارة المختبرين للتوزيع
يمكنك إضافة المختبرين وإزالتهم من مشروعك أو مجموعتك باستخدام ملف Fastfile
الخاص بك أو عن طريق تشغيل إجراءات Fastlane مباشرةً. يؤدي تشغيل الإجراءات مباشرة إلى تجاوز القيم المحددة في Fastfile
الخاص بك.
بمجرد إضافة أداة اختبار إلى مشروع Firebase الخاص بك، يمكنك إضافتها إلى الإصدارات الفردية. لن يتمكن المختبرون الذين تمت إزالتهم من مشروع Firebase الخاص بك من الوصول إلى الإصدارات في مشروعك، ولكن قد يحتفظون بإمكانية الوصول إلى إصداراتك لفترة من الوقت.
إذا كان لديك عدد كبير من المختبرين، فيجب عليك التفكير في استخدام المجموعات.
استخدم Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal $ fastlane add_testers $ fastlane remove_testers
تشغيل إجراءات الخط السريع
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
يمكنك أيضًا تحديد المختبرين باستخدام --file="/path/to/testers.txt
بدلاً من --emails
.
تقبل مهام firebase_app_distribution_add_testers
و firebase_app_distribution_remove_testers
أيضًا الوسيطات التالية:
-
project_name
: رقم مشروع Firebase الخاص بك. -
group_alias
(اختياري): إذا تم تحديده، تتم إضافة المختبرين إلى (أو تتم إزالتهم من) المجموعة المحددة. -
service_credentials_file
: المسار إلى ملف بيانات اعتماد خدمة Google الخاص بك. -
firebase_cli_token
: رمز المصادقة لـ Firebase CLI.
إن service_credentials_file
و firebase_cli_token
هما نفس الوسيطات المستخدمة في إجراء التحميل.
الخطوة 5 (اختياري). احصل على معلومات حول أحدث إصدار لتطبيقك
يمكنك استخدام الإجراء firebase_app_distribution_get_latest_release
لجلب معلومات حول أحدث إصدار لتطبيقك في توزيع التطبيقات، بما في ذلك معلومات إصدار التطبيق وملاحظات الإصدار ووقت الإنشاء. تتضمن حالات الاستخدام زيادة الإصدار تلقائيًا وترحيل ملاحظات الإصدار من الإصدار السابق.
القيمة المرجعة للإجراء هي تجزئة تمثل الإصدار الأخير. هذا التجزئة متاح أيضًا باستخدام lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. لمزيد من المعلومات حول الحقول المتاحة في هذا التجزئة، راجع وثائق REST API .
حدود
معلمات firebase_app_distribution_get_latest_release | |
---|---|
app | مطلوب : معرف تطبيق Firebase لتطبيقك. يمكنك العثور على معرف التطبيق في وحدة تحكم Firebase، في صفحة الإعدادات العامة . app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token | رمز التحديث الذي تتم طباعته عند مصادقة بيئة CI الخاصة بك باستخدام Firebase CLI (اقرأ استخدام CLI مع أنظمة CI لمزيد من المعلومات). |
service_credentials_file | المسار إلى ملف json الخاص بحساب خدمة Google. انظر أعلاه لمعرفة كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة . |
debug | علم منطقي. يمكنك ضبط هذا على |
الخطوات التالية
قم بتنفيذ التعليقات داخل التطبيق لتسهل على المختبرين إرسال تعليقات حول تطبيقك (بما في ذلك لقطات الشاشة).
تعرف على كيفية عرض التنبيهات داخل التطبيق للمختبرين عندما تكون الإصدارات الجديدة من تطبيقك متاحة للتثبيت.
تعرف على أفضل الممارسات لتوزيع تطبيقات Android على مختبري ضمان الجودة باستخدام CI/CD .