این راهنما نحوه توزیع فایلهای APK را با استفاده از Firebase CLI برای آزمایشکنندگان توضیح میدهد. ابزار CLI به شما این امکان را میدهد که آزمایشکنندهها و یادداشتهای انتشار را برای یک ساخت مشخص کنید، سپس بیلد را بر اساس آن توزیع کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید .
اگر از محصولات Firebase دیگری استفاده نمی کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. با این حال، اگر تصمیم به استفاده از محصولات اضافی در آینده دارید، مطمئن شوید که تمام مراحل را در صفحه لینک بالا انجام دهید.
مرحله 1. برنامه خود را بسازید
وقتی آماده توزیع نسخه پیشانتشاری برنامه خود برای آزمایشکنندگان هستید، APK خود را با استفاده از فرآیند عادی خود بسازید. باید APK را با کلید اشکال زدایی یا کلید امضای برنامه امضا کنید.
مرحله 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.apk \ --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 بیاموزید.
این راهنما نحوه توزیع فایلهای APK را با استفاده از Firebase CLI برای آزمایشکنندگان توضیح میدهد. ابزار CLI به شما این امکان را میدهد که آزمایشکنندهها و یادداشتهای انتشار را برای یک ساخت مشخص کنید، سپس بیلد را بر اساس آن توزیع کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید .
اگر از محصولات Firebase دیگری استفاده نمی کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. با این حال، اگر تصمیم به استفاده از محصولات اضافی در آینده دارید، مطمئن شوید که تمام مراحل را در صفحه لینک بالا انجام دهید.
مرحله 1. برنامه خود را بسازید
وقتی آماده توزیع نسخه پیشانتشاری برنامه خود برای آزمایشکنندگان هستید، APK خود را با استفاده از فرآیند عادی خود بسازید. باید APK را با کلید اشکال زدایی یا کلید امضای برنامه امضا کنید.
مرحله 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.apk \ --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 بیاموزید.