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