توزیع برنامه‌های Android برای آزمایش‌گران بااستفاده از Firebase CLI


این راهنما نحوه توزیع APK به آزمایش‌کنندگان را بااستفاده از Firebase CLI شرح می‌دهد. ابزار CLI به شما امکان می‌دهد آزمایش‌کنندگان و یادداشت‌های انتشار را برای ساخت مشخص کنید، سپس ساخت را براساس آن توزیع می‌کند.

قبل از شروع

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

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

  2. صفحه App Distribution کنسول Firebase را باز کنید. وقتی از شما خواسته شد، پروژه Firebase خود را انتخاب کنید، برنامه‌تان را بااستفاده از تعویض‌کننده برنامه انتخاب کنید، و روی شروع به کار کلیک کنید.

مرحله ۱. برنامه‌تان را بسازید

وقتی آماده توزیع نسخه پیش‌انتشار برنامه‌تان به آزمایش‌گران هستید، فایل APK خود را بااستفاده از فرایند معمول خود بسازید. باید APK را با کلید رفع اشکال یا کلید امضای برنامه امضا کنید.

مرحله ۲. توزیع برنامه برای آزمایش‌گران

برای توزیع برنامه‌تان بین آزمایش‌کنندگان، فایل برنامه‌تان را بااستفاده از Firebase CLI بارگذاری کنید:

  1. جدیدترین نسخه Firebase CLI را نصب کنید یا به آن به‌روزرسانی کنید (توصیه می‌کنیم فایل دودویی مستقل CLI را که مختص سیستم‌عامل شما است بارگیری کنید). حتماً به سیستم وارد شوید و آزمایش کنید که می‌توانید به پروژه‌هایتان دسترسی داشته باشید.
  2. فرمان appdistribution:distribute را اجرا کنید تا برنامه‌تان را بارگذاری کنید و آن را بین آزمایش‌گران توزیع کنید. از پارامترهای زیر برای پیکربندی توزیع استفاده کنید:

    appdistribution:distribute options
    --app

    الزامی: شناسه Firebase App برنامه‌تان. می‌توانید «شناسه برنامه» را در کنسول Firebase، در صفحه تنظیمات کلی پیدا کنید.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

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

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    یادداشت‌های انتشار برای این ساخت.

    می‌توانید یادداشت‌های انتشار را مستقیماً مشخص کنید:

    --release-notes "Text of release notes"

    یا مسیر فایل نوشتار ساده را مشخص کنید:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    نشانی ایمیل آزمایش‌گرانی که می‌خواهید دعوت کنید.

    می‌توانید آزمایش‌گران را به‌صورت فهرست نشانی‌های ایمیل جداشده با کاما مشخص کنید:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    یا می‌توانید مسیر فایل نوشتار ساده‌ای را مشخص کنید که حاوی فهرست نشانی‌های ایمیل جداشده با کاما است:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    گروه‌های آزمایش‌کننده‌ای که می‌خواهید دعوت کنید (به مدیریت آزمایش‌کنندگان مراجعه کنید). گروه‌ها بااستفاده از نام‌های مستعار گروه مشخص می‌شوند که می‌توانید آن‌ها را در کنسول Firebase جستجو کنید.

    می‌توانید گروه‌ها را به‌صورت فهرستی جداشده با کاما مشخص کنید:

    --groups "qa-team, trusted-testers"

    یا می‌توانید مسیر فایل نوشتار ساده‌ای را که حاوی فهرست جداشده با کاما از نام‌های گروه است مشخص کنید:

    --groups-file "/path/to/groups.txt"
    --debug

    پرچمی که می‌توانید برای چاپ خروجی گزارش پرجزئیات اضافه کنید.

    --test-devices
    --test-devices-file

    دستگاه‌های آزمایشی که می‌خواهید آزمایش‌های عامل آزمایش برنامه روی آن‌ها اجرا شود.

    می‌توانید دستگاه‌های آزمایشی را به‌صورت فهرستی از مشخصات دستگاه که با نقطه‌ویرگول از هم جدا شده‌اند مشخص کنید:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    یا می‌توانید مسیر فایل نوشتار ساده‌ای را مشخص کنید که حاوی فهرست دستگاه‌های آزمایشی جداشده با نقطه‌ویرگول باشد:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    نام کاربری برای ورود خودکار به سیستم که درطول آزمایش‌های عامل آزمایش برنامه استفاده می‌شود.

    --test-password
    --test-password-file

    گذرواژه ورود خودکار به سیستم که درطول آزمایش‌های عامل آزمایش برنامه استفاده می‌شود.

    یا می‌توانید مسیر فایل نوشتار ساده حاوی گذرواژه را مشخص کنید:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    نام منبع برای فیلد نام کاربری برای ورود خودکار به سیستم که درطول آزمایش‌های عامل آزمایش برنامه استفاده می‌شود.

    --test-password-resource

    نام منبع برای فیلد گذرواژه برای ورود خودکار به سیستم که درطول آزمایش‌های عامل آزمایش برنامه استفاده می‌شود.

    --test-non-blocking

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

    --results-bucket

    مخزن Google Cloud Storage (GCS) سفارشی که نتایج آزمایش در آن ذخیره می‌شود. اگر خالی بماند، از سطل پیش‌فرض استفاده می‌شود. مالکیت سطل باید متعلق به پروژه‌ای باشد که صورت‌حساب برای آن فعال شده است، و مشخص کردن سطل منجر به کسر هزینه صورت‌حساب برای فضای ذخیره‌سازی استفاده‌شده می‌شود.

    برای مثال:

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    «واسط خط فرمان Firebase» پس‌از بارگذاری نسخه پخش، پیوندهای زیر را خروجی می‌دهد. این پیوندها به شما کمک می‌کنند تا فایل‌های دودویی را مدیریت کنید و مطمئن شوید که آزمایش‌کنندگان و سایر توسعه‌دهندگان نسخه پخش مناسب را دارند:

    • firebase_console_uri - پیوندی به کنسول Firebase که یک انتشار را نمایش می‌دهد. می‌توانید این پیوند را با توسعه‌دهندگان دیگر در سازمانتان هم‌رسانی کنید.
    • testing_uri - پیوندی به نسخه پخش در تجربه آزمایش‌کننده (برنامه Android داخلی) که به آزمایش‌کنندگان امکان می‌دهد یادداشت‌های انتشار را مشاهده کنند و برنامه را در دستگاهشان نصب کنند. آزمایش‌کننده برای استفاده از پیوند باید به نسخه پخش دسترسی داشته باشد.
    • binary_download_uri - پیوند امضاشده‌ای که مستقیماً باینری برنامه را بارگیری و نصب می‌کند (فایل APK یا AAB) . این پیوند پس‌از یک ساعت منقضی می‌شود.

    مدیریت آزمایش‌گران و گروه‌ها

    علاوه‌بر توزیع نسخه‌های پخش، می‌توانید از appdistribution:testers:add و appdistribution:testers:remove برای دعوت از آزمونگران جدید یا برداشتن آزمونگران موجود از پروژه Firebase خودتان استفاده کنید.

    وقتی آزمونگری به پروژه Firebase شما اضافه شد، می‌توانید او را به نسخه‌های پخش تکی اضافه کنید. وقتی آزمایش‌کننده‌ای را بردارید، دیگر به نسخه‌های پخش در پروژه‌تان دسترسی نخواهد داشت. توجه داشته باشید آزمایش‌کنندگانی که اخیراً برداشته شده‌اند ممکن است همچنان برای مدتی به نسخه‌های پخش شما دسترسی داشته باشند.

    برای مثال:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    ایمیل‌های آزمایش‌کننده باید با فاصله از هم جدا شوند. همچنین می‌توانید بااستفاده از --file /path/to/testers.txt، آزمایش‌کنندگان را مشخص کنید.

    اگر تعداد آزمایش‌کننده‌هایتان زیاد است، بهتر است از گروه‌ها استفاده کنید: می‌توانید از appdistribution:group:create و appdistribution:group:delete برای ایجاد یا حذف گروه‌ها در پروژه Firebase خود استفاده کنید.

    از --group-alias برای مشخص کردن گروهی برای فرمان‌های appdistribution:testers:add و appdistribution:testers:remove استفاده کنید.

    برای مثال:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

وقتی ساختتان را توزیع می‌کنید، به‌مدت ۱۵۰ روز (پنج ماه) در داشبورد App Distribution در کنسول Firebase دردسترس قرار می‌گیرد. وقتی ۳۰ روز به انقضای ساخت باقی مانده باشد، اعلان انقضا هم در کنسول و هم در فهرست ساخت‌های آزمایش‌کننده در دستگاه آزمایشی او نشان داده می‌شود.

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

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

مراحل بعدی