این راهنما نحوه توزیع «بستههای ترکیبی برنامه Android» (AAB) به آزمایشکنندگان بااستفاده از Firebase CLI را شرح میدهد. ابزار CLI به شما امکان میدهد آزمایشکنندگان و یادداشتهای انتشار را برای ساخت مشخص کنید، سپس ساخت را براساس آن توزیع میکند.
App Distribution با سرویس همرسانی برنامه داخلی Google Play ادغام میشود تا AABهایی را که بارگذاری میکنید پردازش کند و APKهایی را که برای پیکربندیهای دستگاه آزمایشکنندگان شما بهینهسازی شدهاند ارائه دهد. توزیع کردن «بستههای برنامه Android» به شما امکان میدهد کارهای زیر را انجام دهید:
فایلهای APK بهینهشده (ارائهشده توسط Google Play) را که برای دستگاههای آزمایشکنندگان شما بهینهسازی شدهاند اجرا کنید.
مشکلات مختص دستگاه را شناسایی و اشکالزدایی کنید.
ویژگیهای بسته برنامه را آزمایش کنید، مثل ویژگی تحویل Play و ارائه داراییهای Play.
اندازه بارگیریها را برای آزمایشکنندگان کاهش دهید.
مجوزهای لازم
برای بارگذاری کردن AAB در App Distribution، باید برنامه Firebase خود را به برنامهای در Google Play پیوند دهید. برای انجام این کنشها باید سطح دسترسی لازم را داشته باشید.
اگر دسترسی لازم به Firebase را ندارید، میتوانید از «مالک» پروژه Firebase بخواهید بااستفاده از Firebase تنظیمات IAM کنسول، نقش مربوطه را به شما اختصاص دهد. اگر درباره دسترسی به پروژه Firebase خود سؤالی دارید، ازجمله پیدا کردن یا اختصاص دادن «مالک»، پرسشگان «اجازهها و دسترسی به پروژههای Firebase» را مرور کنید.
جدول زیر برای پیوند دادن برنامه Firebase به برنامه در Google Play و همچنین بارگذاری AAB اعمال میشود.
| کنش در کنسول Firebase | اجازه IAM لازم | نقش(های) IAM که بهطور پیشفرض شامل اجازههای لازم است | نقش(های) الزامی دیگر |
|---|---|---|---|
| پیوند دادن برنامه Firebase به برنامهای در Google Play | firebase.playLinks.update
|
یکی از نقشهای زیر: | دسترسی به حساب توسعهدهنده Google Play بهعنوان سرپرست |
| بارگذاری کردن بستههای برنامه Android در App Distribution | firebaseappdistro.releases.update
|
یکی از نقشهای زیر: | –– |
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید. در پایان این گردش کار، یک «برنامه Android Firebase» در پروژه Firebase خود خواهید داشت.
اگر از هیچ محصول Firebase دیگری استفاده نمیکنید، فقط باید پروژهای ایجاد کنید و برنامهتان را ثبت کنید. اگر تصمیم گرفتید از محصولات دیگری استفاده کنید، حتماً همه مراحل افزودن Firebase به پروژه Android را تکمیل کنید.
صفحه App Distribution را در کنسول Firebase باز کنید. وقتی از شما خواسته شد، پروژه Firebase خود را انتخاب کنید، برنامهتان را بااستفاده از تعویضکننده برنامه انتخاب کنید، و روی شروع به کار کلیک کنید.
برای ایجاد پیوند Firebase به Google Play و بارگذاری کردن AAB، مطمئن شوید که برنامهتان الزامات زیر را برآورده میکند:
برنامه در Google Play و برنامه Android در Firebase هر دو بااستفاده از یک نام بسته ثبت شدهاند.
برنامه در Google Play در داشبورد برنامه راهاندازی شده است و در یکی از دستههای هدف Google Play (آزمایش داخلی، آزمایش بسته، آزمایش باز، یا تولید) توزیع شده است.
بررسی برنامه در Google Play تکمیل شده و برنامه منتشر شده است. اگر ستون وضعیت برنامه یکی از وضعیتهای زیر را نشان دهد، برنامهتان منتشر شده است: «آزمایش داخلی» (نه «آزمایش داخلی پیشنویس»)، «آزمایش بسته»، «آزمایش باز»، یا «تولید».
پیوند دادن برنامه Android در Firebase به حساب توسعهدهنده Google Play:
در کنسول Firebase، به
تنظیمات پروژه بروید، سپس برگه ادغامها را انتخاب کنید.در کارت Google Play، روی پیوند کلیک کنید.
اگر ازقبل پیوندهایی به Google Play دارید، روی مدیریت کلیک کنید.دستورالعملهای روی صفحه را برای فعال کردن ادغام App Distribution دنبال کنید و انتخاب کنید کدام «برنامههای Android» در Firebase به Google Play پیوند داده شوند.
درباره پیوند دادن به Google Play بیشتر بدانید.
مرحله ۱. برنامهتان را بسازید
وقتی آماده بودید نسخه پیشانتشار برنامهتان را بین آزمایشگران توزیع کنید، AAB خود را بسازید (برای دستورالعملها به اسناد Android Studio مراجعه کنید).
مشاهده کنید.مرحله ۲. توزیع برنامه برای آزمایشکنندگان
برای توزیع برنامهتان بین آزمایشکنندگان، فایل برنامهتان را بااستفاده از 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.aab \ --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 آشنا شوید.