این راهنما نحوه توزیع APK به آزمایشکنندگان را بااستفاده از Firebase CLI شرح میدهد. ابزار CLI به شما امکان میدهد آزمایشکنندگان و یادداشتهای انتشار را برای ساخت مشخص کنید، سپس ساخت را براساس آن توزیع میکند.
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید.
اگر از هیچ محصول Firebase دیگری استفاده نمیکنید، فقط باید پروژهای ایجاد کنید و برنامهتان را ثبت کنید. بااینحال، اگر تصمیم گرفتید در آینده از محصولات دیگری استفاده کنید، حتماً همه مراحل موجود در صفحه پیوندشده در بالا را تکمیل کنید.
صفحه App Distribution را در کنسول Firebase باز کنید. وقتی از شما خواسته شد، پروژه Firebase خود را انتخاب کنید، برنامهتان را بااستفاده از تعویضکننده برنامه انتخاب کنید، و روی شروع به کار کلیک کنید.
مرحله ۱. برنامهتان را بسازید
وقتی آماده توزیع نسخه پیشانتشار برنامهتان به آزمایشکنندگان هستید، فایل APK خود را بااستفاده از فرایند معمول خود بسازید. باید APK را با کلید اشکالزدایی یا کلید امضای برنامه امضا کنید.
مرحله ۲. توزیع برنامه برای آزمایشکنندگان
برای توزیع برنامهتان بین آزمایشکنندگان، فایل برنامهتان را بااستفاده از Firebase CLI بارگذاری کنید:
- جدیدترین نسخه Firebase CLI را نصب کنید یا به آن بهروزرسانی کنید (توصیه میکنیم باینری مستقل را برای CLI مختص سیستمعاملتان بارگیری کنید). حتماً به سیستم وارد شوید و آزمایش کنید که میتوانید به پروژههایتان دسترسی داشته باشید.
-
فرمان
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.comfirebase 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-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
وقتی ساختتان را توزیع میکنید، بهمدت ۱۵۰ روز (پنج ماه) در داشبورد App Distribution کنسول Firebase دردسترس قرار میگیرد. وقتی ۳۰ روز به انقضای ساخت باقی مانده باشد، اعلان انقضا هم در کنسول و هم در فهرست ساختهای آزمایشکننده در دستگاه آزمایشی او نشان داده میشود.
آزمونگرانی که برای آزمایش برنامه دعوت نشدهاند، دعوتنامههای ایمیلی برای شروع دریافت میکنند و آزمونگران فعلی اعلانهای ایمیلی دریافت میکنند که ساخت جدیدی برای آزمایش آماده است (برای دستورالعملهای نحوه نصب برنامه آزمایشی، راهنمای راهاندازی آزمونگر را بخوانید). میتوانید وضعیت هر آزمایشکننده را (اینکه دعوت را پذیرفته است یا نه و اینکه برنامه را بارگیری کرده است یا نه) در کنسول Firebase پایش کنید.
آزمونگران ۳۰ روز فرصت دارند تا دعوت آزمایش برنامه را قبلاز منقضی شدن آن بپذیرند. وقتی ۵ روز به انقضای دعوت باقی مانده باشد، اعلان انقضا در کنسول Firebase در کنار آزمایشکننده در نسخه پخش ظاهر میشود. دعوت را میتوان با ارسال مجدد آن بااستفاده از منوِ کرکرهای در ردیف آزمایشکننده تمدید کرد.
مراحل بعدی
بازخورد درونبرنامهای را پیادهسازی کنید تا بازخورد آزمونگران را درباره برنامهتان (ازجمله نماگرفتها) جمعآوری کنید.
با نحوه نمایش هشدارهای درونبرنامه به آزمونگران خود هنگام دردسترس بودن نسخههای ساخت جدید برنامهتان برای نصب آشنا شوید.
با روالهای مطلوب برای توزیع برنامههای Android بین آزمایشکنندگان تضمین کیفیت بااستفاده از CI/CD آشنا شوید.