يوضّح هذا الدليل طريقة توزيع إصدارات AAB على المختبِرين باستخدام
Fastlane،
وهي منصة مفتوحة المصدر تعمل على برمجة إنشاء تطبيقات iOS وAndroid وإطلاقها. وهو يتّبع تعليمات بسيطة تم تحديدها في Fastfile
. بعد إعداد المسار السريع وFastfile
، يمكنك دمج App Distribution مع إعدادات Fastlane.
تتكامل ميزة "توزيع التطبيقات" مع خدمة مشاركة التطبيقات الداخلية في 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. إعداد الخط السريع
لإضافة App Distribution إلى إعداد Fastlane، شغِّل الأمر التالي من جذر مشروع Android:
fastlane add_plugin firebase_app_distribution
إذا ظهر لك الأمر خيارًا، انقر على
Option 3: RubyGems.org
.
الخطوة 2. المصادقة باستخدام Firebase
قبل أن تتمكّن من استخدام المكوّن الإضافي Fastlane، يجب أولاً المصادقة على مشروع Firebase بإحدى الطرق التالية. يبحث المكوّن الإضافي Fastlane تلقائيًا عن بيانات الاعتماد من واجهة سطر الأوامر في Firebase في حال عدم استخدام طريقة مصادقة أخرى.
الخطوة 3. يمكنك إعداد Fastfile وتوزيع تطبيقك
- في ممر
./fastlane/Fastfile
، أضِف مجموعةfirebase_app_distribution
. استخدِم المَعلمات التالية لضبط التوزيع:مَعلمات firebase_app_distribution app
مطلوب: رقم تعريف تطبيق Firebase لتطبيقك. يمكنك العثور على رقم تعريف التطبيق في "وحدة تحكُّم Firebase"، في صفحة "الإعدادات العامة".
app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token
هو رمز مميّز لإعادة التحميل تتم طباعته عند مصادقة بيئة CI باستخدام واجهة سطر الأوامر في Firebase (يُرجى الاطّلاع على المقالة استخدام واجهة سطر الأوامر مع أنظمة 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"
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" للاطّلاع على نتائج الاختبار التلقائي.
debug
علامة منطقية يمكنك ضبط هذه القيمة على
true
لطباعة النتائج المطوَّلة لتصحيح الأخطاء.
platform :android do desc "My awesome app" lane :distribute do build_android_app(task: "bundle", ...) # 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!", android_artifact_type: "AAB" ) end end
لإتاحة الإصدار للمختبِرين، عليك اتّباع الخطوات التالية:
fastlane <lane>
والقيمة المعروضة للإجراء هي تجزئة تمثّل الإصدار الذي تم تحميله.
تتوفّر هذه التجزئة أيضًا باستخدام السمة lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
.
لمزيد من المعلومات حول الحقول المتاحة في هذه التجزئة، يمكنك الاطّلاع على مستندات REST API.
يُخرج المكوّن الإضافي Fastlane الروابط التالية بعد تحميل الإصدار. تساعدك هذه الروابط في إدارة البرامج الثنائية والتأكد من أن المختبِرين والمطورين الآخرين لديهم الإصدار الصحيح:
- رابط إلى وحدة تحكم Firebase يعرض إصدارًا واحدًا. يمكنك مشاركة هذا الرابط مع مطوّرين آخرين في مؤسستك.
- رابط للإصدار في تجربة المختبِر (تطبيق Android الأصلي) يتيح للمختبِرين الاطّلاع على ملاحظات الإصدار وتثبيت التطبيق على أجهزتهم. يحتاج المختبِر إلى الوصول إلى الإصدار لاستخدام الرابط.
- يشير هذا المصطلح إلى رابط موقَّع يعمل على تنزيل البرنامج الثنائي للتطبيق وتثبيته مباشرةً (ملف APK أو AAB). تنتهي صلاحية الرابط بعد ساعة واحدة.
بعد توزيع الإصدار، سيصبح متاحًا لمدة 150 يومًا في لوحة بيانات "توزيع التطبيقات" ضمن وحدة تحكُّم Firebase. عندما تنتهي صلاحية الإصدار بعد 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
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
: رقم مشروع Firebasegroup_alias
(اختياري): في حال تحديد هذه السمة، تتم إضافة المختبِرين إلى المجموعة المحدّدة (أو إزالتهم منها).service_credentials_file
: المسار إلى ملف بيانات اعتماد خدمة Googlefirebase_cli_token
: الرمز المميّز لمصادقة واجهة سطر الأوامر في Firebase
service_credentials_file
وfirebase_cli_token
هما نفس الوسيطات التي يستخدمها إجراء التحميل.
الخطوة 5 (اختيارية) الحصول على معلومات عن أحدث إصدار من تطبيقك
يمكنك استخدام الإجراء firebase_app_distribution_get_latest_release
لجلب معلومات عن أحدث إصدار لتطبيقك في App Distribution،
بما في ذلك معلومات إصدار التطبيق وملاحظات الإصدار ووقت الإنشاء. وتشمل حالات الاستخدام زيادة الإصدار تلقائيًا ونقل ملاحظات الإصدار من الإصدار السابق.
والقيمة المعروضة للإجراء هي تجزئة تمثّل أحدث إصدار.
تتوفّر هذه التجزئة أيضًا باستخدام السمة lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
.
لمزيد من المعلومات حول الحقول المتاحة في هذه التجزئة، يمكنك الاطّلاع على مستندات REST API.
المَعلمات
معلمات firebase_app_distribution_get_updated_release | |
---|---|
app
|
مطلوب: رقم تعريف تطبيق Firebase لتطبيقك. يمكنك العثور على رقم تعريف التطبيق في "وحدة تحكُّم Firebase"، في صفحة "الإعدادات العامة". app: "1:1234567890:android:0a1b2c3d4e5f67890" |
firebase_cli_token
|
هو رمز مميّز لإعادة التحميل تتم طباعته عند مصادقة بيئة CI باستخدام واجهة سطر الأوامر في Firebase (يُرجى الاطّلاع على المقالة استخدام واجهة سطر الأوامر مع أنظمة CI للحصول على مزيد من المعلومات). |
service_credentials_file
|
المسار إلى ملف JSON لحساب خدمة Google. يمكنك الاطّلاع أعلاه على كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة. |
debug
|
علامة منطقية يمكنك ضبط هذه القيمة على |
الخطوات اللاحقة
تنفيذ الملاحظات داخل التطبيق لتسهّل على المختبِرين إرسال الملاحظات والآراء حول تطبيقك (بما في ذلك لقطات الشاشة).
تعرَّف على كيفية عرض تنبيهات داخل التطبيق للمختبِرين عند توفُّر إصدارات جديدة من تطبيقك للتثبيت.
تعرَّف على أفضل الممارسات لتوزيع تطبيقات Android إلى مختبِري ضمان الجودة باستخدام CI/CD.