این سند بهترین شیوههای استفاده از Firebase App Distribution را برای پایدار و تکرارپذیر کردن گردشهای کاری تست پیش از انتشار اندروید شما در محیط CI/CD معرفی میکند. راهحلها شامل Gradle و fastlane هستند، اما برای ارائه انعطافپذیری بیشتر، راهحلهای موجود از طریق کنسول Firebase ، Firebase CLI و API App Distribution عمومی Firebase را نیز در بر میگیریم. ما همچنین محدودیتهای انتشار و تستر را شرح میدهیم تا بتوانید از قبل برای یک تجربه بهینه برنامهریزی کنید.
اگر شما هم از پلتفرمهای اپل استفاده میکنید، به «بهترین شیوهها برای توزیع برنامههای اپل به آزمایشکنندگان QA با استفاده از CI/CD و fastlane» مراجعه کنید.
قبل از اینکه شروع کنی
قبل از پیادهسازی بهترین شیوههای موجود در این سند، حتماً App Distribution در کنسول Firebase برای هر برنامه فعال کنید. اگر App Distribution فعال نکرده باشید، با خطای ۴۰۴ مواجه خواهید شد.
برای فعال کردن App Distribution ، این مراحل را دنبال کنید:
- صفحه App Distribution را در کنسول Firebase باز کنید.
- برنامه اندروید خود را انتخاب کنید.
- روی شروع کار کلیک کنید.
با توجه به اینکه بستههای نرمافزاری اندروید (AAB) در حال تبدیل شدن به رایجترین قالب بستههای اندروید هستند، توصیه میکنیم با لینک دادن به Google Play ، امکان توزیع AABها را برای آزمایشکنندگان خود تنظیم کنید.
با استفاده از یک خط لوله CI/CD، گردش کار تست پیش از انتشار خود را خودکار کنید
اگر میخواهید ساخت و انتشار برنامهها را برای آزمایشکنندگان خود خودکار کنید و از CI/CD استفاده میکنید، توصیه میکنیم از fastlane یا Gradle استفاده کنید. گزینه دیگر استفاده از Firebase CLI است که به شما امکان دسترسی به طیف گستردهای از محصولات Firebase را میدهد.
از فستلین استفاده کنید
App Distribution با استفاده از fastlane، ابزاری متنباز که ساخت و انتشار برنامههای iOS و اندروید را خودکار میکند، در خط تولید CI/CD خود ادغام کنید. با ساخت و توزیع خودکار آخرین نسخههای خود به آزمایشکنندگان، اطمینان حاصل میکنید که آزمایشکنندگان همیشه بهروزترین نسخه آزمایشی برنامه شما را در اختیار دارند.
برای یادگیری نحوه ادغام App Distribution با fastlane، به توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از fastlane مراجعه کنید.
از گریدل استفاده کنید
با استفاده از افزونه Gradle App Distribution ، از Gradle برای ادغام App Distribution در فرآیند ساخت اندروید خود استفاده کنید. این افزونه به شما امکان میدهد آزمایشکنندگان و یادداشتهای انتشار خود را در فایل build.gradle برنامه خود مشخص کنید، که به شما امکان میدهد توزیعها را برای انواع مختلف ساخت و انواع برنامه خود پیکربندی کنید.
برای یادگیری نحوه ادغام App Distribution با Gradle، به «توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از Gradle» مراجعه کنید.
از رابط Firebase استفاده کنید
از ابزارهای Firebase CLI که App Distribution ارائه میدهد، برای توزیع نسخههای ساخته شده به آزمایشکنندگان به صورت برنامهنویسی شده استفاده کنید. میتوانید آزمایشکنندگان و یادداشتهای انتشار را برای یک نسخه مشخص کنید.
آخرین نسخه اندروید خود را با مشخص کردن شناسه برنامه Firebase، و در صورت تمایل اضافه کردن یادداشت انتشار و فایلی حاوی ایمیلهای آزمایشکنندگان، توزیع کنید:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
برای کسب اطلاعات بیشتر در مورد استفاده از Firebase CLI برای خودکارسازی ساختهای خود، به بخش توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از Firebase CLI مراجعه کنید.
استفاده از اعتبارنامههای سرویس برای احراز هویت
از افزونهی Fastlane App Distribution ، افزونهی Gradle یا رابط خط فرمان Firebase به همراه حسابهای سرویس استفاده کنید. حساب سرویس نوعی حساب گوگل است که نمایندهی برنامهها (برخلاف کاربران) است. سیستم CI شما میتواند از حسابهای سرویس برای اجرای بارهای کاری App Distribution شما استفاده کند. برای کسب اطلاعات بیشتر، به بخش «احراز هویت با یک حساب سرویس» مراجعه کنید.
اگر از فدراسیون هویت بار کاری استفاده میکنید، میتوانید به جای کلید حساب سرویس، یک فایل پیکربندی اعتبارنامه ایجاد و استفاده کنید.
محدودیتهای انتشار را در نظر داشته باشید
App Distribution حداکثر از ۱۰۰۰ نسخه برای هر برنامه پشتیبانی میکند. این بدان معناست که وقتی از محدودیت انتشار فراتر بروید، App Distribution به طور خودکار قدیمیترین نسخههای بالاتر از حد مجاز را حذف میکند. برای یادگیری نحوه مدیریت محدودیتهای انتشار، به بخش «نسخههای برنامه تا چه مدت در دسترس هستند؟» مراجعه کنید.
اضافه کردن مجموعه یکسانی از آزمایشکنندگان به چندین نسخه
اگر میخواهید تعداد زیادی آزمایشکننده به نسخههای خود اضافه کنید، از قابلیت مدیریت آزمایشکنندههای انبوه App Distribution استفاده کنید.
توصیه میکنیم برای اضافه کردن آزمایشکنندههای یکسان به چندین نسخه، از گروهها استفاده کنید. یک گروه به عنوان یک لیست کنترل دسترسی عمل میکند؛ وقتی یک آزمایشکننده را از یک گروه حذف میکنید، دسترسی او به تمام نسخههای توزیعشده در آن گروه از دست میرود. برای کسب اطلاعات بیشتر، به بخش «افزودن و حذف آزمایشکنندهها از یک گروه» مراجعه کنید.
اگر تعداد زیادی تستر برای مدیریت دارید، میتوانید با استفاده از کنسول Firebase تسترها را به صورت گروهی اضافه و حذف کنید . برای خودکارسازی اضافه کردن و حذف تسترها، از Firebase CLI ، fastlane ، Gradle یا API App Distribution عمومی Firebase استفاده کنید.
محدودیتهای تستر را در نظر داشته باشید
App Distribution تعداد آزمایشکنندگانی را که میتوانید به یک پروژه Firebase یا یک گروه App Distribution اضافه کنید، محدود میکند. وقتی از این محدودیتها تجاوز کنید، نمیتوانید برنامه خود را برای آزمایشکنندگان اضافی توزیع کنید. برای کسب اطلاعات بیشتر در مورد محدودیتهای آزمایشکنندگان، به بخش «آیا محدودیتی برای اضافه کردن آزمایشکنندگان به برنامه من وجود دارد؟» مراجعه کنید.
به آزمایشکنندگان بالقوه اجازه دهید تا خودشان برای آزمایش ثبتنام کنند
برای اینکه توزیع برنامهتان برای آزمایشکنندگان بیشتر آسانتر شود، توصیه میکنیم از لینکهای دعوت استفاده کنید. لینک دعوت ، یک URL منحصر به فرد است که به آزمایشکنندگان اجازه میدهد آدرسهای ایمیل خود را برای ثبتنام و آزمایش برنامه وارد کنند. فعال کردن کاربران برای اضافه کردن خود به لیست آزمایشکنندگان برنامه شما، راهی آسان برای افزایش پایگاه آزمایش داخلی شماست.
موارد استفاده از لینکهای دعوت شامل برنامههای تشویقی شرکتها، سازمانهایی با تیمهای بزرگ تضمین کیفیت و گروههای توسعهدهندهای است که میخواهند مشتریان خاص بتوانند دسترسی آزمایشکنندگان را کنترل کنند.
توصیه میکنیم برای یک گروه، لینک دعوت ایجاد کنید. هر آزمایشکنندهای که با استفاده از لینک دعوت ثبتنام کند، بهطور خودکار به نسخههای بعدی اضافه میشود.
برای کسب اطلاعات بیشتر، به ایجاد لینکهای دعوت و افزودن و حذف آزمایشکنندگان از یک گروه مراجعه کنید.
مطمئن شوید که آزمایشکنندگان، نسخهای را که برای شما مهم است، آزمایش میکنند
وقتی نسخه جدیدی آپلود میشود، به آزمایشکنندگان شما از طریق ایمیل اطلاع داده میشود. برای تکمیل این اطلاعرسانی، میتوانید از ویژگیهای زیر - لینکهای انتشار و هشدارهای درون برنامهای - استفاده کنید تا مطمئن شوید که آزمایشکنندگان شما نسخه خاصی از برنامه را که برایتان مهم است، آزمایش میکنند:
- پیوندهای انتشار: از این ویژگی زمانی استفاده کنید که میخواهید یک نسخه خاص را با آزمایشکنندگان به اشتراک بگذارید. برای یادگیری نحوه استفاده از پیوندهای انتشار، به «توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از کنسول Firebase مراجعه کنید. این پیوندها همچنین با ابزارهای خط فرمان Firebase ، fastlane و Gradle (CLI) ما برای استفاده با ابزارهای اتوماسیون ساخت شما در دسترس هستند.
- هشدارهای درون برنامهای: از این هشدارها زمانی استفاده کنید که میخواهید مطمئن شوید آزمایشکنندگان شما آخرین نسخه برنامه شما را آزمایش میکنند. با ادغام Firebase App Distribution Android SDK، میتوانید هشدارها را مستقیماً درون برنامه به آزمایشکنندگان خود نمایش دهید وقتی نسخههای جدید برنامه شما در دسترس هستند. برای یادگیری نحوه افزودن هشدارهای درون برنامهای، به Notify testers about new builds مراجعه کنید.
حذف خودکار دسترسی برای آزمایشکنندگانی که شرکت را ترک میکنند
وقتی جریان تست داخلی CI/CD شما راهاندازی و اجرا میشود، باید مطمئن شوید افرادی که شرکت را ترک میکنند، دیگر به نسخههای داخلی شما دسترسی ندارند. برای کمک به شما در مدیریت دسترسی تستر به نسخههای داخلی، App Distribution گزینههای زیر را ارائه میدهد:
- fastlane: از فایل Fastfile خود استفاده کنید یا مستقیماً اقدامات fastlane را اجرا کنید. برای کسب اطلاعات بیشتر، به توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از fastlane مراجعه کنید.
- رابط خط Firebase : از
firebase appdistribution:testers:removeفایربیس استفاده کنید. برای کسب اطلاعات بیشتر، به «توزیع برنامههای اندروید برای آزمایشکنندگان با استفاده از رابط خط Firebase » مراجعه کنید. - Gradle: اگر از Gradle برای حذف تسترها استفاده میکنید،
appDistributionRemoveTestersباو-- PROJECT_NUMBERفایل-- EMAILSbuild.gradleخود ارسال کنید. برای کسب اطلاعات بیشتر، به بخش توزیع برنامههای اندروید به تسترها با استفاده از Gradle مراجعه کنید. - API App Distribution عمومی Firebase : از نقطه پایانی
testers.batchRemoveاستفاده کنید.