این راهنما نحوه توزیع 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 آشنا شوید.