برنامه های Android را با استفاده از fastlane بین آزمایش کنندگان توزیع کنید


این راهنما نحوه توزیع ساخت‌های AAB را برای آزمایش‌کنندگان با استفاده از fastlane ، یک پلت‌فرم منبع باز که ساخت و انتشار برنامه‌های iOS و Android را خودکار می‌کند، توضیح می‌دهد. از دستورالعمل های ساده تعریف شده در Fastfile پیروی می کند. پس از راه اندازی fastlane و Fastfile خود، می توانید App Distribution با پیکربندی fastlane خود ادغام کنید.

App Distribution با سرویس اشتراک‌گذاری برنامه داخلی Google Play ادغام می‌شود تا AAB‌هایی را که آپلود می‌کنید پردازش کند و APK‌هایی را که برای پیکربندی‌های دستگاه آزمایش‌کنندگان شما بهینه‌سازی شده‌اند ارائه می‌دهد. توزیع AAB به شما امکان می دهد کارهای زیر را انجام دهید:

  • فایل‌های APK بهینه‌سازی شده (که توسط Google Play ارائه می‌شود) را اجرا کنید که برای دستگاه‌های آزمایش‌کنندگان شما بهینه‌سازی شده‌اند.

  • مشکلات مربوط به دستگاه را کشف و اشکال زدایی کنید.

  • ویژگی‌های بسته نرم‌افزار مانند Play Feature Delivery و Play Asset Delivery را آزمایش کنید.

  • حجم دانلودها را برای آزمایش کنندگان خود کاهش دهید.

مجوزهای مورد نیاز

برای آپلود AABها در App Distribution ، باید برنامه Firebase خود را به یک برنامه در Google Play پیوند دهید . برای انجام این اقدامات باید سطح دسترسی لازم را داشته باشید.

اگر دسترسی Firebase لازم را ندارید، می‌توانید از مالک پروژه Firebase بخواهید که از طریق تنظیمات IAM کنسول Firebase نقش قابل اجرا را به شما اختصاص دهد. اگر در مورد دسترسی به پروژه Firebase خود، از جمله پیدا کردن یا اختصاص مالک، سؤالی دارید، سؤالات متداول "مجوزها و دسترسی به پروژه های Firebase" را مرور کنید.

جدول زیر برای پیوند یک برنامه Firebase به یک برنامه در Google Play و همچنین آپلود AAB ها کاربرد دارد.

اکشن در کنسول Firebase مجوز IAM مورد نیاز است نقش(های) IAM که به طور پیش فرض شامل مجوزهای مورد نیاز است نقش(های) مورد نیاز اضافی
یک برنامه Firebase را به یک برنامه در Google Play پیوند دهید firebase.playLinks.update یکی از نقش های زیر: دسترسی به حساب توسعه دهنده Google Play به عنوان Admin
AAB ها را در App Distribution آپلود کنید firebaseappdistro.releases.update یکی از نقش های زیر: ––

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Android خود اضافه کنید . در پایان این گردش کار، یک برنامه Android Firebase در پروژه Firebase خود خواهید داشت.

    اگر از محصولات Firebase دیگری استفاده نمی کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. اگر تصمیم به استفاده از محصولات اضافی دارید، مطمئن شوید که تمام مراحل افزودن Firebase به پروژه Android خود را کامل کرده اید.

  2. برای ایجاد پیوند Firebase به Google Play و آپلود AAB، مطمئن شوید که برنامه شما شرایط زیر را دارد:

    • برنامه در Google Play و برنامه Firebase Android هر دو با استفاده از یک نام بسته ثبت شده اند.

    • برنامه در Google Play در داشبورد برنامه راه‌اندازی می‌شود و در یکی از مسیرهای Google Play (تست داخلی، آزمایش بسته، آزمایش باز یا تولید) توزیع می‌شود.

    • بررسی اپلیکیشن در گوگل پلی کامل شد و اپلیکیشن منتشر شد. اگر ستون وضعیت برنامه یکی از وضعیت‌های زیر را نمایش دهد، برنامه شما منتشر می‌شود: آزمایش داخلی (نه آزمایش داخلی پیش‌نویس)، آزمایش بسته، آزمایش باز یا تولید.

  3. برنامه Firebase Android خود را به حساب توسعه دهنده Google Play خود پیوند دهید:

    1. در کنسول Firebase ، به قسمت خود بروید تنظیمات پروژه ، سپس برگه Integrations را انتخاب کنید.

    2. در کارت Google Play ، روی پیوند کلیک کنید.
      اگر قبلاً پیوندهایی به Google Play دارید، به جای آن روی Manage کلیک کنید.

    3. دستورالعمل‌های روی صفحه را دنبال کنید تا ادغام App Distribution فعال کنید و برنامه‌های Firebase Android را انتخاب کنید تا به Google Play پیوند داده شوند.

    درباره پیوند دادن به Google Play بیشتر بیاموزید.

مرحله 1. راه اندازی fastlane

  1. fastlane را نصب و راه اندازی کنید .

  2. برای افزودن App Distribution به پیکربندی fastlane خود، دستور زیر را از ریشه پروژه اندروید خود اجرا کنید:

    fastlane add_plugin firebase_app_distribution

    اگر فرمان گزینه ای را از شما می خواهد، Option 3: RubyGems.org را انتخاب کنید.

مرحله 2. با Firebase احراز هویت

قبل از اینکه بتوانید از افزونه fastlane استفاده کنید، ابتدا باید با پروژه Firebase خود به یکی از روش های زیر احراز هویت کنید. به‌طور پیش‌فرض، اگر از روش احراز هویت دیگری استفاده نشود، افزونه fastlane به دنبال اعتبار از Firebase CLI می‌گردد.

احراز هویت با یک حساب سرویس به شما این امکان را می دهد که به طور انعطاف پذیر از افزونه با سیستم یکپارچه سازی پیوسته (CI) خود استفاده کنید. دو روش برای ارائه اعتبار حساب خدمات وجود دارد:

  • فایل کلید حساب سرویس خود را به اکشن firebase_app_distribution منتقل کنید. اگر از قبل فایل کلید حساب سرویس خود را در محیط ساخت خود داشته باشید، ممکن است این روش را راحت بیابید.
  • متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS تنظیم کنید تا به فایل کلید حساب سرویس شما اشاره کند. اگر قبلاً Application Default Credentials (ADC) را برای سرویس Google دیگری (مثلاً Google Cloud ) پیکربندی کرده‌اید، ممکن است این روش را ترجیح دهید.
  1. در کنسول Google Cloud ، پروژه خود را انتخاب کرده و یک حساب سرویس جدید ایجاد کنید.
  2. نقش مدیر Firebase App Distribution را اضافه کنید.
  3. یک کلید json خصوصی ایجاد کنید و کلید را به مکانی که برای محیط ساخت شما قابل دسترسی است منتقل کنید. مطمئن شوید که این فایل را در جایی امن نگه دارید ، زیرا به سرپرست اجازه دسترسی به App Distribution در پروژه Firebase شما می دهد.
  4. اگر برنامه خود را بعد از 20 سپتامبر 2019 ایجاد کرده اید، از این مرحله رد شوید: در کنسول Google APIs، Firebase App Distribution API را فعال کنید. هنگامی که از شما خواسته شد، پروژه ای را با همان نام پروژه Firebase خود انتخاب کنید.
  5. اطلاعات حساب سرویس خود را ارائه یا پیدا کنید:

    1. برای ارسال کلید حساب سرویس خود به اقدام firebase_app_distribution خط خود، پارامتر service_credentials_file را با مسیر فایل JSON کلید خصوصی خود تنظیم کنید.
    2. برای تعیین مکان اعتبار خود با ADC، متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS را روی مسیر فایل JSON کلید خصوصی تنظیم کنید. به عنوان مثال:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      برای اطلاعات بیشتر در مورد احراز هویت با ADC، ارائه اعتبارنامه به برنامه خود را بخوانید.

برای اطلاع از نحوه احراز هویت پروژه، به ورود با Firebase CLI مراجعه کنید.

مرحله 3. Fastfile خود را راه اندازی کنید و برنامه خود را توزیع کنید

  1. در یک مسیر ./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 حساب سرویس گوگل شما. برای نحوه احراز هویت با استفاده از اعتبار حساب سرویس به بالا مراجعه کنید.

    android_artifact_type

    نوع فایل اندروید (APK یا AAB) را مشخص می کند.

    android_artifact_path

    جایگزین apk_path (منسوخ شده). مسیر مطلق به فایل APK یا AAB که می‌خواهید آپلود کنید. اگر مشخص نباشد، fastlane مکان فایل را از خطی که فایل در آن تولید شده است، تعیین می کند.

    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 روز در داشبورد App Distribution کنسول 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 : شماره پروژه 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 برای واکشی اطلاعات درباره آخرین نسخه برنامه‌تان در 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

نشانه تازه‌سازی که هنگام احراز هویت محیط CI خود با Firebase CLI چاپ می‌شود (برای اطلاعات بیشتر، استفاده از CLI با سیستم‌های CI را بخوانید).

service_credentials_file

مسیر فایل json حساب سرویس گوگل شما. برای نحوه احراز هویت با استفاده از اعتبار حساب سرویس به بالا مراجعه کنید.

debug

یک پرچم بولی می‌توانید این را روی true تنظیم کنید تا خروجی اشکال زدایی کامل چاپ شود.

مراحل بعدی

،


این راهنما نحوه توزیع ساخت‌های AAB را برای آزمایش‌کنندگان با استفاده از fastlane ، یک پلت‌فرم منبع باز که ساخت و انتشار برنامه‌های iOS و Android را خودکار می‌کند، توضیح می‌دهد. از دستورالعمل های ساده تعریف شده در Fastfile پیروی می کند. پس از راه اندازی fastlane و Fastfile خود، می توانید App Distribution با پیکربندی fastlane خود ادغام کنید.

App Distribution با سرویس اشتراک‌گذاری برنامه داخلی Google Play ادغام می‌شود تا AAB‌هایی را که آپلود می‌کنید پردازش کند و APK‌هایی را که برای پیکربندی‌های دستگاه آزمایش‌کنندگان شما بهینه‌سازی شده‌اند ارائه می‌دهد. توزیع AAB به شما امکان می دهد کارهای زیر را انجام دهید:

  • فایل‌های APK بهینه‌سازی شده (که توسط Google Play ارائه می‌شود) را اجرا کنید که برای دستگاه‌های آزمایش‌کنندگان شما بهینه‌سازی شده‌اند.

  • مشکلات مربوط به دستگاه را کشف و اشکال زدایی کنید.

  • ویژگی‌های بسته نرم‌افزار مانند Play Feature Delivery و Play Asset Delivery را آزمایش کنید.

  • حجم دانلودها را برای آزمایش کنندگان خود کاهش دهید.

مجوزهای مورد نیاز

برای آپلود AABها در App Distribution ، باید برنامه Firebase خود را به یک برنامه در Google Play پیوند دهید . برای انجام این اقدامات باید سطح دسترسی لازم را داشته باشید.

اگر دسترسی Firebase لازم را ندارید، می‌توانید از مالک پروژه Firebase بخواهید که از طریق تنظیمات IAM کنسول Firebase نقش قابل اجرا را به شما اختصاص دهد. اگر در مورد دسترسی به پروژه Firebase خود، از جمله پیدا کردن یا اختصاص مالک، سؤالی دارید، سؤالات متداول "مجوزها و دسترسی به پروژه های Firebase" را مرور کنید.

جدول زیر برای پیوند یک برنامه Firebase به یک برنامه در Google Play و همچنین آپلود AAB ها کاربرد دارد.

اکشن در کنسول Firebase مجوز IAM مورد نیاز است نقش(های) IAM که به طور پیش فرض شامل مجوزهای مورد نیاز است نقش(های) مورد نیاز اضافی
یک برنامه Firebase را به یک برنامه در Google Play پیوند دهید firebase.playLinks.update یکی از نقش های زیر: دسترسی به حساب توسعه دهنده Google Play به عنوان Admin
AAB ها را در App Distribution آپلود کنید firebaseappdistro.releases.update یکی از نقش های زیر: ––

قبل از شروع

  1. اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Android خود اضافه کنید . در پایان این گردش کار، یک برنامه Android Firebase در پروژه Firebase خود خواهید داشت.

    اگر از محصولات Firebase دیگری استفاده نمی کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. اگر تصمیم به استفاده از محصولات اضافی دارید، مطمئن شوید که تمام مراحل افزودن Firebase به پروژه Android خود را کامل کرده اید.

  2. برای ایجاد پیوند Firebase به Google Play و آپلود AAB، مطمئن شوید که برنامه شما شرایط زیر را دارد:

    • برنامه در Google Play و برنامه Firebase Android هر دو با استفاده از یک نام بسته ثبت شده اند.

    • برنامه در Google Play در داشبورد برنامه راه‌اندازی می‌شود و در یکی از مسیرهای Google Play (تست داخلی، آزمایش بسته، آزمایش باز یا تولید) توزیع می‌شود.

    • بررسی اپلیکیشن در گوگل پلی کامل شد و اپلیکیشن منتشر شد. اگر ستون وضعیت برنامه یکی از وضعیت‌های زیر را نمایش دهد، برنامه شما منتشر می‌شود: آزمایش داخلی (نه آزمایش داخلی پیش‌نویس)، آزمایش بسته، آزمایش باز یا تولید.

  3. برنامه Firebase Android خود را به حساب توسعه دهنده Google Play خود پیوند دهید:

    1. در کنسول Firebase ، به قسمت خود بروید تنظیمات پروژه ، سپس برگه Integrations را انتخاب کنید.

    2. در کارت Google Play ، روی پیوند کلیک کنید.
      اگر قبلاً پیوندهایی به Google Play دارید، به جای آن روی Manage کلیک کنید.

    3. دستورالعمل‌های روی صفحه را دنبال کنید تا ادغام App Distribution فعال کنید و برنامه‌های Firebase Android را انتخاب کنید تا به Google Play پیوند داده شوند.

    درباره پیوند دادن به Google Play بیشتر بیاموزید.

مرحله 1. راه اندازی fastlane

  1. fastlane را نصب و راه اندازی کنید .

  2. برای افزودن App Distribution به پیکربندی fastlane خود، دستور زیر را از ریشه پروژه اندروید خود اجرا کنید:

    fastlane add_plugin firebase_app_distribution

    اگر فرمان گزینه ای را از شما می خواهد، Option 3: RubyGems.org را انتخاب کنید.

مرحله 2. با Firebase احراز هویت

قبل از اینکه بتوانید از افزونه fastlane استفاده کنید، ابتدا باید با پروژه Firebase خود به یکی از روش های زیر احراز هویت کنید. به‌طور پیش‌فرض، اگر از روش احراز هویت دیگری استفاده نشود، افزونه fastlane به دنبال اعتبار از Firebase CLI می‌گردد.

احراز هویت با یک حساب سرویس به شما این امکان را می دهد که به طور انعطاف پذیر از افزونه با سیستم یکپارچه سازی پیوسته (CI) خود استفاده کنید. دو روش برای ارائه اعتبار حساب خدمات وجود دارد:

  • فایل کلید حساب سرویس خود را به اکشن firebase_app_distribution منتقل کنید. اگر از قبل فایل کلید حساب سرویس خود را در محیط ساخت خود داشته باشید، ممکن است این روش را راحت بیابید.
  • متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS تنظیم کنید تا به فایل کلید حساب سرویس شما اشاره کند. اگر قبلاً Application Default Credentials (ADC) را برای سرویس Google دیگری (مثلاً Google Cloud ) پیکربندی کرده‌اید، ممکن است این روش را ترجیح دهید.
  1. در کنسول Google Cloud ، پروژه خود را انتخاب کرده و یک حساب سرویس جدید ایجاد کنید.
  2. نقش مدیر Firebase App Distribution را اضافه کنید.
  3. یک کلید json خصوصی ایجاد کنید و کلید را به مکانی که برای محیط ساخت شما قابل دسترسی است منتقل کنید. مطمئن شوید که این فایل را در جایی امن نگه دارید ، زیرا به سرپرست اجازه دسترسی به App Distribution در پروژه Firebase شما را می دهد.
  4. اگر برنامه خود را بعد از 20 سپتامبر 2019 ایجاد کرده اید، از این مرحله رد شوید: در کنسول Google APIs، Firebase App Distribution API را فعال کنید. هنگامی که از شما خواسته شد، پروژه ای را با همان نام پروژه Firebase خود انتخاب کنید.
  5. اطلاعات حساب سرویس خود را ارائه یا پیدا کنید:

    1. برای ارسال کلید حساب سرویس خود به اقدام firebase_app_distribution خط خود، پارامتر service_credentials_file را با مسیر فایل JSON کلید خصوصی خود تنظیم کنید.
    2. برای تعیین مکان اعتبار خود با ADC، متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS را روی مسیر فایل JSON کلید خصوصی تنظیم کنید. به عنوان مثال:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      برای اطلاعات بیشتر در مورد احراز هویت با ADC، ارائه اعتبارنامه به برنامه خود را بخوانید.

برای اطلاع از نحوه احراز هویت پروژه، به ورود با Firebase CLI مراجعه کنید.

مرحله 3. Fastfile خود را راه اندازی کنید و برنامه خود را توزیع کنید

  1. در یک مسیر ./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 حساب سرویس گوگل شما. برای نحوه احراز هویت با استفاده از اعتبار حساب سرویس به بالا مراجعه کنید.

    android_artifact_type

    نوع فایل اندروید (APK یا AAB) را مشخص می کند.

    android_artifact_path

    جایگزین apk_path (منسوخ شده). مسیر مطلق به فایل APK یا AAB که می‌خواهید آپلود کنید. اگر مشخص نباشد، fastlane مکان فایل را از خطی که فایل در آن تولید شده است، تعیین می کند.

    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 روز در داشبورد App Distribution کنسول 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 : شماره پروژه 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 برای واکشی اطلاعات درباره آخرین نسخه برنامه‌تان در 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

نشانه تازه‌سازی که هنگام احراز هویت محیط CI خود با Firebase CLI چاپ می‌شود (برای اطلاعات بیشتر، استفاده از CLI با سیستم‌های CI را بخوانید).

service_credentials_file

مسیر فایل json حساب سرویس گوگل شما. برای نحوه احراز هویت با استفاده از اعتبار حساب سرویس به بالا مراجعه کنید.

debug

یک پرچم بولی می‌توانید این را روی true تنظیم کنید تا خروجی اشکال زدایی کامل چاپ شود.

مراحل بعدی

،


این راهنما نحوه توزیع ساخت‌های AAB را برای آزمایش‌کنندگان با استفاده از fastlane ، یک پلت‌فرم منبع باز که ساخت و انتشار برنامه‌های iOS و Android را خودکار می‌کند، توضیح می‌دهد. از دستورالعمل های ساده تعریف شده در Fastfile پیروی می کند. پس از راه اندازی fastlane و Fastfile خود، می توانید App Distribution با پیکربندی fastlane خود ادغام کنید.

App Distribution با سرویس اشتراک‌گذاری برنامه داخلی Google Play ادغام می‌شود تا AAB‌هایی را که آپلود می‌کنید پردازش کند و APK‌هایی را که برای پیکربندی‌های دستگاه آزمایش‌کنندگان شما بهینه‌سازی شده‌اند ارائه می‌دهد. توزیع AAB به شما امکان می دهد کارهای زیر را انجام دهید:

  • فایل‌های APK بهینه‌سازی شده (که توسط Google Play ارائه می‌شود) را اجرا کنید که برای دستگاه‌های آزمایش‌کنندگان شما بهینه‌سازی شده‌اند.

  • مشکلات مربوط به دستگاه را کشف و اشکال زدایی کنید.

  • ویژگی‌های بسته برنامه مانند تحویل ویژگی Play و تحویل دارایی Play را آزمایش کنید.

  • حجم دانلودها را برای آزمایش کنندگان خود کاهش دهید.

مجوزهای مورد نیاز

برای آپلود AABها در App Distribution ، باید برنامه Firebase خود را به یک برنامه در Google Play پیوند دهید . برای انجام این اقدامات باید سطح دسترسی لازم را داشته باشید.

اگر دسترسی Firebase لازم را ندارید، می‌توانید از مالک پروژه Firebase بخواهید که از طریق تنظیمات IAM کنسول Firebase نقش قابل اجرا را به شما اختصاص دهد. اگر در مورد دسترسی به پروژه Firebase خود، از جمله پیدا کردن یا اختصاص مالک، سؤالی دارید، سؤالات متداول "مجوزها و دسترسی به پروژه های Firebase" را مرور کنید.

جدول زیر برای پیوند یک برنامه Firebase به یک برنامه در Google Play و همچنین آپلود AAB ها کاربرد دارد.

اکشن در کنسول Firebase مجوز IAM مورد نیاز است نقش(های) IAM که به طور پیش فرض شامل مجوزهای مورد نیاز است نقش(های) مورد نیاز اضافی
یک برنامه Firebase را به یک برنامه در Google Play پیوند دهید firebase.playLinks.update یکی از نقش های زیر: دسترسی به حساب توسعه دهنده Google Play به عنوان Admin
AAB ها را در App Distribution آپلود کنید firebaseappdistro.releases.update یکی از نقش های زیر: ––

قبل از شروع

  1. اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه Android خود اضافه کنید . در پایان این گردش کار ، یک برنامه Android Firebase در پروژه Firebase خود خواهید داشت.

    اگر از سایر محصولات Firebase استفاده نمی کنید ، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. اگر تصمیم دارید از محصولات اضافی استفاده کنید ، حتماً تمام مراحل اضافه کردن Firebase را به پروژه Android خود انجام دهید.

  2. برای ایجاد پیوند Firebase به Google Play و بارگذاری AABS ، اطمینان حاصل کنید که برنامه شما شرایط زیر را برآورده می کند:

    • برنامه موجود در Google Play و برنامه Android Firebase هر دو با استفاده از یک نام بسته یکسان ثبت شده اند.

    • برنامه موجود در Google Play روی داشبورد برنامه تنظیم شده است و به یکی از آهنگ های Google Play (آزمایش داخلی ، آزمایش بسته ، آزمایش باز یا تولید) توزیع می شود.

    • بررسی برنامه در Google Play کامل است و برنامه منتشر شده است. اگر ستون وضعیت برنامه یکی از وضعیت های زیر را نشان دهد: آزمایش داخلی (تست داخلی) ، آزمایش بسته ، آزمایش باز یا تولید ، برنامه شما منتشر می شود.

  3. برنامه Android Firebase خود را به حساب توسعه دهنده Google Play خود پیوند دهید:

    1. در کنسول Firebase ، به قسمت خود بروید تنظیمات پروژه ، سپس برگه Integrations را انتخاب کنید.

    2. در کارت Google Play ، روی پیوند کلیک کنید.
      اگر قبلاً پیوندهایی به Google Play دارید ، به جای آن روی مدیریت کلیک کنید.

    3. دستورالعمل های روی صفحه را دنبال کنید تا ادغام App Distribution فعال کنید و برنامه های Android Firebase را برای پیوند به Google Play انتخاب کنید.

    در مورد پیوند دادن به Google Play بیشتر بدانید.

مرحله 1. Fastlane را تنظیم کنید

  1. FastLane را نصب و تنظیم کنید .

  2. برای افزودن App Distribution به پیکربندی 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 ) تنظیم کنید ، ممکن است این روش را ترجیح دهید.
  1. در کنسول Google Cloud ، پروژه خود را انتخاب کرده و یک حساب خدمات جدید ایجاد کنید.
  2. نقش مدیر Firebase App Distribution را اضافه کنید.
  3. یک کلید JSON خصوصی ایجاد کنید و کلید را به مکانی که برای محیط ساخت شما قابل دسترسی است منتقل کنید. حتماً این پرونده را در جایی ایمن نگه دارید ، زیرا دسترسی به مدیر به App Distribution در پروژه Firebase شما را اعطا می کند.
  4. اگر برنامه خود را بعد از 20 سپتامبر 2019 ایجاد کردید ، از این مرحله پرش کنید: در کنسول Google APIS ، API Firebase App Distribution فعال کنید. در صورت درخواست ، پروژه را با همان نام پروژه Firebase خود انتخاب کنید.
  5. اعتبار حساب خدمات خود را ارائه یا پیدا کنید:

    1. برای عبور کلید حساب خدمات خود به اقدامات firebase_app_distribution Lane ، پارامتر service_credentials_file را با مسیر پرونده JSON کلید خصوصی خود تنظیم کنید.
    2. برای یافتن اعتبار خود با ADC ، متغیر محیط GOOGLE_APPLICATION_CREDENTIALS در مسیر پرونده Key Key JSON تنظیم کنید. به عنوان مثال:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      برای کسب اطلاعات بیشتر در مورد تأیید اعتبار با ADC ، ارائه اعتبار برای برنامه خود را بخوانید.

برای راهنمایی در مورد چگونگی تأیید اعتبار پروژه خود ، با Firebase CLI وارد شوید .

مرحله 3. Fastfile خود را تنظیم کرده و برنامه خود را توزیع کنید

  1. در یک خط ./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 ACCOUNT Google Service شما. در مورد نحوه تأیید اعتبار با استفاده از اعتبار حساب خدمات در بالا مراجعه کنید.

    android_artifact_type

    نوع فایل Android (APK یا AAB) را مشخص می کند.

    android_artifact_path

    جایگزین apk_path (مستهلک) می شود. مسیر مطلق به پرونده APK یا AAB که می خواهید بارگذاری کنید. در صورت نامشخص ، FastLane مکان فایل را از خطی که در آن پرونده ایجاد شده است تعیین می کند.

    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] در دسترس است. برای کسب اطلاعات بیشتر در مورد زمینه های موجود در این هش ، به اسناد API REST مراجعه کنید.

افزونه Fastlane پس از بارگذاری انتشار ، پیوندهای زیر را خروجی می کند. این پیوندها به شما در مدیریت باینری ها کمک می کنند و اطمینان حاصل می کنند که آزمایش کنندگان و سایر توسعه دهندگان نسخه صحیح را دارند:

  • پیوندی به کنسول Firebase که یک نسخه واحد را نشان می دهد. می توانید این پیوند را با سایر توسعه دهندگان در ارگ خود به اشتراک بگذارید.
  • پیوندی برای انتشار در Tester Experience (برنامه بومی اندروید) که به آزمایش کنندگان اجازه می دهد یادداشت های انتشار را مشاهده کنند و برنامه را بر روی دستگاه خود نصب کنند. تستر برای استفاده از لینک نیاز به دسترسی به نسخه دارد.
  • پیوندی امضا شده که مستقیماً برنامه باینری برنامه (پرونده APK یا AAB) را بارگیری و نصب می کند. پیوند پس از یک ساعت منقضی می شود.

پس از توزیع ساخت و ساز خود ، به مدت 150 روز در داشبورد App Distribution کنسول Firebase در دسترس است. هنگامی که ساخت و ساز 30 روز از زمان انقضا است ، یک اعلامیه انقضا در کنسول و در لیست تستر ساخت در دستگاه تست آنها ظاهر می شود.

آزمایش کننده هایی که قبلاً برای آزمایش برنامه دعوت نشده بودند ، دعوت نامه های ایمیل را برای شروع کار دریافت می کنند. آزمایش کنندگان موجود اعلان های ایمیل دریافت می کنند که ساخت جدید آماده آزمایش است. برای یادگیری نحوه نصب برنامه تست ، به راهنمای تنظیم تستر مراجعه کنید. شما می توانید وضعیت هر تستر را کنترل کنید تا مشخص شود که آیا آنها دعوت را پذیرفته اند و آیا برنامه را در کنسول Firebase بارگیری کرده اند یا خیر.

(اختیاری) برای افزایش خودکار شماره ساخت خود هر بار که نسخه جدیدی را در توزیع برنامه ایجاد می کنید ، می توانید از عمل 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 : شماره پروژه Firebase شما.
  • group_alias (اختیاری): در صورت مشخص شدن ، آزمایش کنندگان به گروه مشخص شده (یا حذف شده از) اضافه می شوند.
  • service_credentials_file : مسیر پرونده اعتبارنامه خدمات Google شما.
  • firebase_cli_token : token token for Firebase cli.

service_credentials_file و firebase_cli_token همان آرگومان هایی هستند که توسط عمل بارگذاری استفاده می شوند.

مرحله 5 (اختیاری). در مورد آخرین نسخه برنامه خود اطلاعات کسب کنید

می توانید از اقدامات firebase_app_distribution_get_latest_release استفاده کنید تا اطلاعات مربوط به آخرین نسخه برنامه خود را در توزیع برنامه ، از جمله اطلاعات نسخه برنامه ، یادداشت های انتشار و زمان ایجاد دریافت کنید. موارد استفاده شامل افزایش خودکار نسخه و حمل یادداشت های انتشار از نسخه قبلی است.

ارزش بازده این عمل هش است که آخرین نسخه را نشان می دهد. این هش همچنین با استفاده از lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] در دسترس است. برای کسب اطلاعات بیشتر در مورد زمینه های موجود در این هش ، به اسناد API REST مراجعه کنید.

پارامترها

پارامترهای 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 ACCOUNT Google Service شما. در مورد نحوه تأیید اعتبار با استفاده از اعتبار حساب خدمات در بالا مراجعه کنید.

debug

یک پرچم بولی شما می توانید این را برای چاپ خروجی اشکال زدایی true تنظیم کنید.

مراحل بعدی

،


این راهنما نحوه توزیع ساختهای AAB را به آزمایش کنندگان با استفاده از FastLane ، یک بستر منبع باز که ساخت ساختمان و انتشار برنامه های iOS و Android را خودکار می کند ، توصیف می کند. این دستورالعمل های ساده تعریف شده در یک Fastfile را دنبال می کند. بعد از تنظیم FastLane و Fastfile خود ، می توانید App Distribution با پیکربندی FastLane خود ادغام کنید.

App Distribution با سرویس اشتراک برنامه داخلی Google Play برای پردازش AABS که بارگذاری می کنید و APK هایی را که برای تنظیمات دستگاه تست کنندگان شما بهینه شده اند ، ادغام می کند. توزیع AABS به شما امکان می دهد موارد زیر را انجام دهید:

  • APK های بهینه سازی شده را اجرا کنید (که توسط Google Play سرو می شود) که در دستگاه های آزمایش کننده شما بهینه شده است.

  • موضوعات خاص دستگاه را کشف و اشکال زدایی کنید.

  • ویژگی های بسته نرم افزاری برنامه مانند تحویل ویژگی بازی و تحویل دارایی بازی .

  • اندازه بارگیری ها را برای آزمایش کنندگان خود کاهش دهید.

مجوزهای مورد نیاز

برای بارگذاری AABS در App Distribution ، باید برنامه Firebase خود را به یک برنامه در Google Play پیوند دهید . برای انجام این اقدامات باید سطح دسترسی لازم را داشته باشید.

اگر دسترسی لازم Firebase را ندارید ، می توانید از صاحب پروژه Firebase بخواهید که نقش قابل اجرا را از طریق تنظیمات کنسول Firebase IAM به شما اختصاص دهد. اگر در مورد دسترسی به پروژه Firebase خود سؤالی دارید ، از جمله پیدا کردن یا اختصاص مالک ، "مجوزها و دسترسی به پروژه های Firebase" را مرور کنید.

جدول زیر برای پیوند دادن یک برنامه Firebase به یک برنامه در Google Play و همچنین بارگذاری AABS اعمال می شود.

اقدام در کنسول Firebase مجوز IAM مورد نیاز نقش (های) IAM که به طور پیش فرض مجوزهای لازم را شامل می شود نقش (ها) اضافی مورد نیاز
یک برنامه Firebase را به یک برنامه در Google Play پیوند دهید firebase.playLinks.update یکی از نقش های زیر: دسترسی به یک حساب توسعه دهنده Google Play به عنوان مدیر
AABS را در App Distribution بارگذاری کنید firebaseappdistro.releases.update یکی از نقش های زیر: ––

قبل از شروع

  1. اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه Android خود اضافه کنید . در پایان این گردش کار ، یک برنامه Android Firebase در پروژه Firebase خود خواهید داشت.

    اگر از سایر محصولات Firebase استفاده نمی کنید ، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. اگر تصمیم دارید از محصولات اضافی استفاده کنید ، حتماً تمام مراحل اضافه کردن Firebase را به پروژه Android خود انجام دهید.

  2. برای ایجاد پیوند Firebase به Google Play و بارگذاری AABS ، اطمینان حاصل کنید که برنامه شما شرایط زیر را برآورده می کند:

    • برنامه موجود در Google Play و برنامه Android Firebase هر دو با استفاده از یک نام بسته یکسان ثبت شده اند.

    • برنامه موجود در Google Play روی داشبورد برنامه تنظیم شده است و به یکی از آهنگ های Google Play (آزمایش داخلی ، آزمایش بسته ، آزمایش باز یا تولید) توزیع می شود.

    • بررسی برنامه در Google Play کامل است و برنامه منتشر شده است. اگر ستون وضعیت برنامه یکی از وضعیت های زیر را نشان دهد: آزمایش داخلی (تست داخلی) ، آزمایش بسته ، آزمایش باز یا تولید ، برنامه شما منتشر می شود.

  3. برنامه Android Firebase خود را به حساب توسعه دهنده Google Play خود پیوند دهید:

    1. در کنسول Firebase ، به قسمت خود بروید تنظیمات پروژه ، سپس برگه Integrations را انتخاب کنید.

    2. در کارت Google Play ، روی پیوند کلیک کنید.
      اگر قبلاً پیوندهایی به Google Play دارید ، به جای آن روی مدیریت کلیک کنید.

    3. دستورالعمل های روی صفحه را دنبال کنید تا ادغام App Distribution فعال کنید و برنامه های Android Firebase را برای پیوند به Google Play انتخاب کنید.

    در مورد پیوند دادن به Google Play بیشتر بدانید.

مرحله 1. Fastlane را تنظیم کنید

  1. FastLane را نصب و تنظیم کنید .

  2. برای افزودن App Distribution به پیکربندی 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 ) تنظیم کنید ، ممکن است این روش را ترجیح دهید.
  1. در کنسول Google Cloud ، پروژه خود را انتخاب کرده و یک حساب خدمات جدید ایجاد کنید.
  2. نقش مدیر Firebase App Distribution را اضافه کنید.
  3. یک کلید JSON خصوصی ایجاد کنید و کلید را به مکانی که برای محیط ساخت شما قابل دسترسی است منتقل کنید. حتماً این پرونده را در جایی ایمن نگه دارید ، زیرا دسترسی به مدیر به App Distribution در پروژه Firebase شما را اعطا می کند.
  4. اگر برنامه خود را بعد از 20 سپتامبر 2019 ایجاد کردید ، از این مرحله پرش کنید: در کنسول Google APIS ، API Firebase App Distribution فعال کنید. در صورت درخواست ، پروژه را با همان نام پروژه Firebase خود انتخاب کنید.
  5. اعتبار حساب خدمات خود را ارائه یا پیدا کنید:

    1. برای عبور کلید حساب خدمات خود به اقدامات firebase_app_distribution Lane ، پارامتر service_credentials_file را با مسیر پرونده JSON کلید خصوصی خود تنظیم کنید.
    2. برای یافتن اعتبار خود با ADC ، متغیر محیط GOOGLE_APPLICATION_CREDENTIALS در مسیر پرونده Key Key JSON تنظیم کنید. به عنوان مثال:

       export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
      

      برای کسب اطلاعات بیشتر در مورد تأیید اعتبار با ADC ، ارائه اعتبار برای برنامه خود را بخوانید.

برای راهنمایی در مورد چگونگی تأیید اعتبار پروژه خود ، با Firebase CLI وارد شوید .

مرحله 3. Fastfile خود را تنظیم کرده و برنامه خود را توزیع کنید

  1. در یک خط ./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 ACCOUNT Google Service شما. در مورد نحوه تأیید اعتبار با استفاده از اعتبار حساب خدمات در بالا مراجعه کنید.

    android_artifact_type

    نوع فایل Android (APK یا AAB) را مشخص می کند.

    android_artifact_path

    جایگزین apk_path (مستهلک) می شود. مسیر مطلق به پرونده APK یا AAB که می خواهید بارگذاری کنید. در صورت نامشخص ، FastLane مکان فایل را از خطی که در آن پرونده ایجاد شده است تعیین می کند.

    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] در دسترس است. برای کسب اطلاعات بیشتر در مورد زمینه های موجود در این هش ، به اسناد API REST مراجعه کنید.

افزونه Fastlane پس از بارگذاری انتشار ، پیوندهای زیر را خروجی می کند. این پیوندها به شما در مدیریت باینری ها کمک می کنند و اطمینان حاصل می کنند که آزمایش کنندگان و سایر توسعه دهندگان نسخه صحیح را دارند:

  • پیوندی به کنسول Firebase که یک نسخه واحد را نشان می دهد. می توانید این پیوند را با سایر توسعه دهندگان در ارگ خود به اشتراک بگذارید.
  • پیوندی برای انتشار در Tester Experience (برنامه بومی اندروید) که به آزمایش کنندگان اجازه می دهد یادداشت های انتشار را مشاهده کنند و برنامه را بر روی دستگاه خود نصب کنند. تستر برای استفاده از لینک نیاز به دسترسی به نسخه دارد.
  • پیوندی امضا شده که مستقیماً برنامه باینری برنامه (پرونده APK یا AAB) را بارگیری و نصب می کند. پیوند پس از یک ساعت منقضی می شود.

پس از توزیع ساخت و ساز خود ، به مدت 150 روز در داشبورد App Distribution کنسول Firebase در دسترس است. هنگامی که ساخت و ساز 30 روز از زمان انقضا است ، یک اعلامیه انقضا در کنسول و در لیست تستر ساخت در دستگاه تست آنها ظاهر می شود.

آزمایش کننده هایی که قبلاً برای آزمایش برنامه دعوت نشده بودند ، دعوت نامه های ایمیل را برای شروع کار دریافت می کنند. آزمایش کنندگان موجود اعلان های ایمیل دریافت می کنند که ساخت جدید آماده آزمایش است. برای یادگیری نحوه نصب برنامه تست ، به راهنمای تنظیم تستر مراجعه کنید. شما می توانید وضعیت هر تستر را کنترل کنید تا مشخص شود که آیا آنها دعوت را پذیرفته اند و آیا برنامه را در کنسول Firebase بارگیری کرده اند یا خیر.

(اختیاری) برای افزایش خودکار شماره ساخت خود هر بار که نسخه جدیدی را در توزیع برنامه ایجاد می کنید ، می توانید از عمل 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 : شماره پروژه Firebase شما.
  • group_alias (اختیاری): در صورت مشخص شدن ، آزمایش کنندگان به گروه مشخص شده (یا حذف شده از) اضافه می شوند.
  • service_credentials_file : مسیر پرونده اعتبارنامه خدمات Google شما.
  • firebase_cli_token : token token for Firebase cli.

service_credentials_file و firebase_cli_token همان آرگومان هایی هستند که توسط عمل بارگذاری استفاده می شوند.

مرحله 5 (اختیاری). در مورد آخرین نسخه برنامه خود اطلاعات کسب کنید

می توانید از اقدامات firebase_app_distribution_get_latest_release استفاده کنید تا اطلاعات مربوط به آخرین نسخه برنامه خود را در توزیع برنامه ، از جمله اطلاعات نسخه برنامه ، یادداشت های انتشار و زمان ایجاد دریافت کنید. موارد استفاده شامل افزایش خودکار نسخه و حمل یادداشت های انتشار از نسخه قبلی است.

ارزش بازده این عمل هش است که آخرین نسخه را نشان می دهد. این هش همچنین با استفاده از lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] در دسترس است. برای کسب اطلاعات بیشتر در مورد زمینه های موجود در این هش ، به اسناد API REST مراجعه کنید.

پارامترها

پارامترهای 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 ACCOUNT Google Service شما. در مورد نحوه تأیید اعتبار با استفاده از اعتبار حساب خدمات در بالا مراجعه کنید.

debug

یک پرچم بولی شما می توانید این را برای چاپ خروجی اشکال زدایی true تنظیم کنید.

مراحل بعدی