این راهنما نحوه توزیع Android App Bundles (AAB) را با استفاده از Firebase CLI بین آزمایشکنندگان توضیح میدهد. ابزار CLI به شما این امکان را میدهد که آزمایشکنندهها و یادداشتهای انتشار را برای یک ساخت مشخص کنید، سپس بیلد را بر اساس آن توزیع کنید.
App Distribution با سرویس اشتراکگذاری برنامه داخلی Google Play ادغام میشود تا AABهایی را که آپلود میکنید پردازش کند و APKهایی را که برای پیکربندیهای دستگاه آزمایشکنندگان شما بهینهسازی شدهاند ارائه میدهد. توزیع AAB به شما امکان می دهد کارهای زیر را انجام دهید:
فایلهای APK بهینهسازی شده (که توسط Google Play ارائه میشود) را اجرا کنید که برای دستگاههای آزمایشکنندگان شما بهینهسازی شدهاند.
مشکلات مربوط به دستگاه را کشف و اشکال زدایی کنید.
ویژگیهای بسته نرمافزار مانند Play Feature Delivery و Play Asset Delivery را آزمایش کنید.
حجم دانلودها را برای آزمایش کنندگان خود کاهش دهید.
مجوزهای مورد نیاز
برای آپلود AABها در App Distribution ، باید برنامه Firebase خود را به یک برنامه در Google Play پیوند دهید . برای انجام این اقدامات باید سطح دسترسی لازم را داشته باشید.
اگر دسترسی Firebase لازم را ندارید، میتوانید از مالک پروژه Firebase بخواهید که از طریق تنظیمات IAM کنسول Firebase نقش قابل اجرا را به شما اختصاص دهد. اگر در مورد دسترسی به پروژه Firebase خود، از جمله پیدا کردن یا اختصاص مالک، سؤالی دارید ، سؤالات متداول "مجوزها و دسترسی به پروژه های Firebase" را مرور کنید.
جدول زیر برای پیوند یک برنامه Firebase به یک برنامه در Google Play و همچنین آپلود AAB ها کاربرد دارد.
اکشن در کنسول Firebase | مجوز IAM مورد نیاز است | نقش(های) IAM که به طور پیش فرض شامل مجوزهای مورد نیاز است | نقش(های) مورد نیاز اضافی |
---|---|---|---|
یک برنامه Firebase را به یک برنامه در Google Play پیوند دهید | firebase.playLinks.update | یکی از نقش های زیر: | دسترسی به حساب توسعه دهنده Google Play به عنوان Admin |
AAB ها را در App Distribution آپلود کنید | firebaseappdistro.releases.update | یکی از نقش های زیر: | –– |
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید . در پایان این گردش کار، یک برنامه Android Firebase در پروژه Firebase خود خواهید داشت.
اگر از محصولات Firebase دیگری استفاده نمی کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. اگر تصمیم به استفاده از محصولات اضافی دارید، مطمئن شوید که تمام مراحل افزودن Firebase به پروژه Android خود را کامل کرده اید.
برای ایجاد پیوند Firebase به Google Play و آپلود AAB، مطمئن شوید که برنامه شما شرایط زیر را دارد:
برنامه در Google Play و برنامه Firebase Android هر دو با استفاده از یک نام بسته ثبت شده اند.
برنامه در Google Play در داشبورد برنامه راهاندازی میشود و در یکی از مسیرهای Google Play (تست داخلی، آزمایش بسته، آزمایش باز یا تولید) توزیع میشود.
بررسی اپلیکیشن در گوگل پلی کامل شد و اپلیکیشن منتشر شد. اگر ستون وضعیت برنامه یکی از وضعیتهای زیر را نمایش دهد، برنامه شما منتشر میشود: آزمایش داخلی (نه آزمایش داخلی پیشنویس)، آزمایش بسته، آزمایش باز یا تولید.
برنامه Firebase Android خود را به حساب توسعه دهنده Google Play خود پیوند دهید:
در کنسول Firebase ، به قسمت خود بروید
در کارت Google Play ، روی پیوند کلیک کنید.
اگر قبلاً پیوندهایی به Google Play دارید، به جای آن روی Manage کلیک کنید.دستورالعملهای روی صفحه را دنبال کنید تا ادغام App Distribution را فعال کنید و برنامههای Firebase Android را انتخاب کنید تا به Google Play پیوند داده شوند.
درباره پیوند دادن به Google Play بیشتر بیاموزید.
مرحله 1. برنامه خود را بسازید
وقتی آماده توزیع نسخه پیشانتشاری برنامهتان برای آزمایشکنندگان هستید، AAB خود را بسازید (برای دستورالعملها به مستندات Android Studio مراجعه کنید).
مرحله 2. برنامه خود را بین آزمایش کنندگان توزیع کنید
برای توزیع برنامه خود بین آزمایشگران، فایل برنامه خود را با استفاده از Firebase CLI آپلود کنید:
- آخرین نسخه Firebase CLI را نصب یا به روز کنید (توصیه می کنیم باینری مستقل را برای CLI مخصوص سیستم عامل خود دانلود کنید). مطمئن شوید که وارد شوید و تست کنید که می توانید به پروژه های خود دسترسی داشته باشید.
- در صفحه App Distribution کنسول Firebase ، برنامهای را که میخواهید توزیع کنید انتخاب کنید، سپس روی شروع به کار کلیک کنید.
دستور
appdistribution:distribute
اجرا کنید تا برنامه خود را آپلود کرده و بین آزمایش کنندگان توزیع کنید. برای پیکربندی توزیع از پارامترهای زیر استفاده کنید:appdistribution: توزیع گزینه ها --app
مورد نیاز : شناسه برنامه Firebase برنامه شما. میتوانید شناسه برنامه را در کنسول Firebase ، در صفحه تنظیمات عمومی پیدا کنید.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--token
نشانه تازهسازی که هنگام احراز هویت محیط CI خود با Firebase CLI چاپ میشود (برای اطلاعات بیشتر، استفاده از 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;model=b0q,version=33,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 مراجعه کنید.
به عنوان مثال:
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txt
Firebase CLI پیوندهای زیر را پس از آپلود انتشار خروجی می دهد. این پیوندها به شما کمک میکنند فایلهای باینری را مدیریت کنید و اطمینان حاصل کنید که آزمایشکنندگان و سایر توسعهدهندگان نسخه مناسبی دارند:
-
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.com
firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
ایمیلهای آزمایشکننده باید با فاصله از هم جدا شوند. همچنین میتوانید آزمایشکنندگان را با استفاده از
--file /path/to/testers.txt
مشخص کنید.اگر تعداد آزمایشکنندههای زیادی دارید، باید از گروهها استفاده کنید: میتوانید از
appdistribution:group:create
وappdistribution:group:delete
برای ایجاد یا حذف گروهها در پروژه Firebase خود استفاده کنید.برای تعیین گروهی برای دستورات
appdistribution:testers:add
وappdistribution:testers:remove
--group-alias
استفاده کنید.به عنوان مثال:
firebase appdistribution:group:create "QA team" qa-team
firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
firebase appdistribution:group:delete qa-team
-
هنگامی که ساخت خود را توزیع کردید، به مدت 150 روز (پنج ماه) در داشبورد App Distribution کنسول Firebase در دسترس قرار می گیرد. وقتی ساخت 30 روز از انقضا میگذرد، یک اخطار انقضا هم در کنسول و هم در فهرست ساختهای آزمایشکننده شما در دستگاه آزمایشی ظاهر میشود.
آزمایشکنندگانی که برای آزمایش برنامه دعوت نشدهاند، دعوتنامههای ایمیلی را برای شروع دریافت میکنند، و آزمایشکنندگان موجود اعلانهای ایمیلی مبنی بر آماده بودن ساخت جدید برای آزمایش دریافت میکنند ( راهنمای راهاندازی آزمایشکننده را برای دستورالعملهای نصب برنامه آزمایشی بخوانید). میتوانید وضعیت هر آزمایشکننده را کنترل کنید - آیا دعوتنامه را پذیرفتهاند و آیا برنامه را دانلود کردهاند یا خیر - در کنسول Firebase .
آزمایشکنندهها 30 روز فرصت دارند تا قبل از انقضا، دعوتنامه را برای آزمایش برنامه بپذیرند. وقتی دعوتنامه 5 روز از تاریخ انقضا میگذرد، در کنسول Firebase در کنار آزمایشکننده در نسخهای که منتشر میشود، اعلان انقضا ظاهر میشود. دعوتنامه را می توان با ارسال مجدد آن با استفاده از منوی کشویی در ردیف آزمایشگر تمدید کرد.
مراحل بعدی
بازخورد درونبرنامهای را پیادهسازی کنید تا آزمایشکنندگان بتوانند بازخورد درباره برنامه شما (از جمله تصاویر صفحه) ارسال کنند.
با نحوه نمایش هشدارهای درونبرنامهای به آزمایشکنندگان خود، هنگامی که ساختهای جدید برنامهتان برای نصب در دسترس هستند، آشنا شوید.
بهترین روشها را برای توزیع برنامههای Android به آزمایشکنندگان QA با استفاده از CI/CD بیاموزید.