این راهنما نحوه توزیع APKها را برای آزمایشکنندگان با استفاده از Firebase CLI شرح میدهد. ابزار CLI به شما امکان میدهد آزمایشکنندگان و یادداشتهای انتشار را برای یک نسخه مشخص کنید، سپس نسخه را بر اساس آن توزیع کنید.
قبل از اینکه شروع کنی
اگر هنوز Firebase را به پروژه اندروید خود اضافه نکردهاید، آن را اضافه کنید.
اگر از هیچ محصول دیگری از Firebase استفاده نمیکنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. با این حال، اگر تصمیم دارید در آینده از محصولات دیگری استفاده کنید، حتماً تمام مراحل موجود در صفحه لینک شده در بالا را انجام دهید.
مرحله ۱. برنامه خود را بسازید
وقتی آماده توزیع نسخه پیشانتشار برنامه خود برای آزمایشکنندگان شدید، APK خود را با استفاده از فرآیند معمول خود بسازید. باید APK را با کلید اشکالزدایی یا کلید امضای برنامه خود امضا کنید.
مرحله ۲. برنامه خود را بین آزمایشکنندگان توزیع کنید
برای توزیع برنامه خود به آزمایشکنندگان، فایل برنامه خود را با استفاده از Firebase CLI آپلود کنید:
- آخرین نسخه Firebase CLI را نصب یا بهروزرسانی کنید (توصیه میکنیم فایل باینری مستقل مربوط به CLI مخصوص سیستم عامل خود را دانلود کنید). حتماً وارد سیستم شوید و بررسی کنید که آیا میتوانید به پروژههای خود دسترسی داشته باشید یا خیر.
دستور
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- لینکی به نسخه منتشر شده در محیط تستر (اپلیکیشن اندروید) که به تسترها اجازه میدهد یادداشتهای انتشار را مشاهده کرده و اپلیکیشن را روی دستگاه خود نصب کنند. تستر برای استفاده از لینک، نیاز به دسترسی به نسخه منتشر شده دارد. -
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 زیر نظر داشته باشید - اینکه آیا دعوت را پذیرفتهاند و آیا برنامه را دانلود کردهاند یا خیر.
آزمایشکنندگان 30 روز فرصت دارند تا دعوتنامه را برای آزمایش برنامه قبل از انقضا بپذیرند. وقتی 5 روز به انقضای دعوتنامه باقی مانده باشد، یک اعلان انقضا در کنسول Firebase در کنار آزمایشکننده در نسخه منتشر شده ظاهر میشود. دعوتنامه را میتوان با ارسال مجدد آن با استفاده از منوی کشویی در ردیف آزمایشکننده تمدید کرد.
مراحل بعدی
بازخورد درونبرنامهای را پیادهسازی کنید تا ارسال بازخورد درباره برنامه شما (از جمله اسکرینشاتها) برای آزمایشکنندگان آسان باشد.
بیاموزید که چگونه وقتی نسخههای جدید برنامه شما برای نصب در دسترس است، هشدارهای درون برنامهای را به آزمایشکنندگان خود نمایش دهید.
بهترین شیوهها برای توزیع برنامههای اندروید به آزمایشکنندگان QA با استفاده از CI/CD را بیاموزید.