توزيع تطبيقات Android على المختبرين باستخدام Fastlane

يصف هذا الدليل كيفية توزيع تصميمات AAB على المختبرين باستخدام Fastlane ، وهو نظام أساسي مفتوح المصدر يعمل على أتمتة إنشاء تطبيقات iOS و Android وإصدارها. إنه يتبع تعليمات بسيطة محددة في Fastfile . بعد إعداد fastlane و Fastfile الخاص بك ، يمكنك دمج توزيع التطبيقات مع تكوين المسار السريع الخاص بك.

لاتباع هذا الدليل ، تحتاج إلى المتطلبات الأساسية التالية: الوصول إلى مشروع Firebase ( المالك أو مسؤول Firebase ) ، والوصول إلى حساب مطور Google Play ( المالك أو المسؤول ) ، وتطبيق في حالة منشور في Google Play.

حول توزيع حِزم تطبيقات Android

يتكامل توزيع التطبيقات مع خدمة مشاركة التطبيقات الداخلية في Google Play لمعالجة AABs التي تقوم بتحميلها وتقديم ملفات APK المحسّنة لتكوينات جهاز المختبرين. عندما تقوم بتوزيع AABs ، يمكنك:

  • قم بتشغيل ملفات APK المحسّنة (التي يقدمها Google Play) والتي تم تحسينها لأجهزة المختبرين.
  • كشف وتصحيح المشاكل الخاصة بالجهاز.
  • اختبار ميزات حزمة التطبيقات مثل Play Feature Delivery و Play Asset Delivery
  • تقليل حجم التنزيلات للمختبرين.

قبل ان تبدأ

  1. أضف Firebase إلى مشروع Android ، إذا لم تكن قد قمت بذلك بالفعل. في نهاية سير العمل هذا ، سيكون لديك تطبيق Firebase Android في مشروع Firebase.

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

  2. لإنشاء رابط Firebase إلى Google Play وتحميل AABs ، تأكد من أن تطبيقك يلبي المتطلبات التالية:

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

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

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

  3. اربط تطبيق Firebase Android بحساب مطوّر برامج Google Play:

    1. في وحدة تحكم Firebase ، انتقل إلى Project settings ، ثم حدد علامة التبويب Integrations .

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

    3. اتبع التعليمات التي تظهر على الشاشة لتمكين تكامل توزيع التطبيقات وحدد تطبيقات Firebase Android لربطها بـ Google Play.

    تعرف على المزيد حول الارتباط بـ Google Play .

الخطوة 1. قم بإعداد الخط السريع

  1. تثبيت وتثبيت Fastlane .

  2. لإضافة توزيع التطبيق إلى تكوين المسار السريع الخاص بك ، قم بتشغيل الأمر التالي من جذر مشروع Android الخاص بك:

    fastlane add_plugin firebase_app_distribution

    إذا طالبك الأمر بخيار ما ، فحدد Option 3: RubyGems.org .

الخطوة 2. المصادقة باستخدام Firebase

قبل أن تتمكن من استخدام المكون الإضافي Fastlane ، يجب عليك أولاً المصادقة مع مشروع Firebase الخاص بك. هناك ثلاث طرق لتحقيق ذلك:

الخطوة الثالثة. قم بإعداد Fastfile الخاص بك وتوزيع التطبيق الخاص بك

  1. في حارة. / ./fastlane/Fastfile / Fastfile ، أضف كتلة firebase_app_distribution . استخدم المعلمات التالية لتكوين التوزيع:
    معلمات firebase_app_distribution
    app

    مطلوب : معرف تطبيق Firebase لتطبيقك. يمكنك العثور على معرف التطبيق في وحدة تحكم Firebase ، في صفحة الإعدادات العامة .

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    رمز التحديث الذي تتم طباعته عند تشغيل إجراء تسجيل دخول المكون الإضافي (راجع المصادقة باستخدام حساب Google أعلاه) ، أو عند مصادقة بيئة 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(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        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>

بعد توزيع التصميم الخاص بك ، يكون متاحًا في لوحة معلومات توزيع التطبيقات لوحدة تحكم 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 an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

قم بتشغيل إجراءات الخط السريع

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

يمكنك أيضًا تحديد المختبرين باستخدام --file="/path/to/testers.txt بدلاً من --emails .

تقبل مهمتا firebase_app_distribution_add_testers و firebase_app_distribution_remove_testers أيضًا الوسيطات التالية:

  • project_name : رقم مشروع Firebase الخاص بك.
  • service_credentials_file : المسار إلى ملف بيانات اعتماد خدمة Google.
  • firebase_cli_token : رمز المصادقة لـ Firebase CLI.

إن ملف 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_latest_release المعلمات
app

مطلوب : معرف تطبيق Firebase لتطبيقك. يمكنك العثور على معرف التطبيق في وحدة تحكم Firebase ، في صفحة الإعدادات العامة .

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

رمز التحديث الذي تتم طباعته عند تشغيل إجراء تسجيل دخول المكون الإضافي (راجع المصادقة باستخدام حساب Google أعلاه) ، أو عند مصادقة بيئة CI الخاصة بك باستخدام Firebase CLI (اقرأ استخدام CLI مع أنظمة CI لمزيد من المعلومات).

service_credentials_file

المسار إلى ملف json الخاص بحساب خدمة Google. انظر أعلاه للتعرف على كيفية المصادقة باستخدام بيانات اعتماد حساب الخدمة .

debug

علم منطقي. يمكنك تعيين هذا على " true " لطباعة إخراج التصحيح المطول.