با استفاده از Firebase CLI، برنامه‌های Android را بین آزمایش‌کنندگان توزیع کنید


این راهنما نحوه توزیع APKها را برای آزمایش‌کنندگان با استفاده از Firebase CLI شرح می‌دهد. ابزار CLI به شما امکان می‌دهد آزمایش‌کنندگان و یادداشت‌های انتشار را برای یک نسخه مشخص کنید، سپس نسخه را بر اساس آن توزیع کنید.

قبل از اینکه شروع کنی

اگر هنوز Firebase را به پروژه اندروید خود اضافه نکرده‌اید، آن را اضافه کنید.

اگر از هیچ محصول دیگری از Firebase استفاده نمی‌کنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. با این حال، اگر تصمیم دارید در آینده از محصولات دیگری استفاده کنید، حتماً تمام مراحل موجود در صفحه لینک شده در بالا را انجام دهید.

مرحله ۱. برنامه خود را بسازید

وقتی آماده توزیع نسخه پیش‌انتشار برنامه خود برای آزمایش‌کنندگان شدید، APK خود را با استفاده از فرآیند معمول خود بسازید. باید APK را با کلید اشکال‌زدایی یا کلید امضای برنامه خود امضا کنید.

مرحله ۲. برنامه خود را بین آزمایش‌کنندگان توزیع کنید

برای توزیع برنامه خود به آزمایش‌کنندگان، فایل برنامه خود را با استفاده از Firebase CLI آپلود کنید:

  1. آخرین نسخه Firebase CLI را نصب یا به‌روزرسانی کنید (توصیه می‌کنیم فایل باینری مستقل مربوط به CLI مخصوص سیستم عامل خود را دانلود کنید). حتماً وارد سیستم شوید و بررسی کنید که آیا می‌توانید به پروژه‌های خود دسترسی داشته باشید یا خیر.
  2. دستور 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.com
    
    firebase 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-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

پس از توزیع نسخه ساخته شده، به مدت ۱۵۰ روز (پنج ماه) در داشبورد App Distribution کنسول Firebase در دسترس قرار می‌گیرد. هنگامی که ۳۰ روز تا انقضای نسخه ساخته شده باقی مانده باشد، یک اعلان انقضا هم در کنسول و هم در لیست نسخه‌های ساخته شده توسط آزمایش‌کننده شما در دستگاه آزمایشی‌اش ظاهر می‌شود.

آزمایش‌کنندگانی که برای آزمایش برنامه دعوت نشده‌اند، دعوت‌نامه‌های ایمیلی برای شروع دریافت می‌کنند و آزمایش‌کنندگان فعلی اعلان‌های ایمیلی مبنی بر آماده بودن نسخه جدید برای آزمایش دریافت می‌کنند (برای دستورالعمل نحوه نصب برنامه آزمایشی، راهنمای راه‌اندازی آزمایش‌کننده را بخوانید). می‌توانید وضعیت هر آزمایش‌کننده را در کنسول Firebase زیر نظر داشته باشید - اینکه آیا دعوت را پذیرفته‌اند و آیا برنامه را دانلود کرده‌اند یا خیر.

آزمایش‌کنندگان 30 روز فرصت دارند تا دعوت‌نامه را برای آزمایش برنامه قبل از انقضا بپذیرند. وقتی 5 روز به انقضای دعوت‌نامه باقی مانده باشد، یک اعلان انقضا در کنسول Firebase در کنار آزمایش‌کننده در نسخه منتشر شده ظاهر می‌شود. دعوت‌نامه را می‌توان با ارسال مجدد آن با استفاده از منوی کشویی در ردیف آزمایش‌کننده تمدید کرد.

مراحل بعدی