برنامه های اندروید را با استفاده از Gradle بین آزمایش کنندگان توزیع کنید

می‌توانید با استفاده از پلاگین App Distribution Gradle، App Distribution را در فرآیند ساخت اندروید خود ادغام کنید. این افزونه به شما امکان می‌دهد آزمایش‌کننده‌ها و یادداشت‌های انتشار را در فایل build.gradle برنامه خود مشخص کنید، و به شما امکان می‌دهد توزیع‌ها را برای انواع ساخت و انواع مختلف برنامه خود پیکربندی کنید.

این راهنما نحوه توزیع فایل‌های APK را با استفاده از افزونه App Distribution Gradle برای آزمایش‌کنندگان توضیح می‌دهد.

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

اگر قبلاً این کار را نکرده‌اید، Firebase را به پروژه Android خود اضافه کنید .

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

مرحله 1. پروژه اندروید خود را راه اندازی کنید

  1. در فایل Gradle در سطح پروژه خود (معمولاً android/build.gradle )، افزونه App Distribution را به عنوان وابستگی buildscript اضافه کنید:

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
            jcenter()
        }
        dependencies {
            // Add the App Distribution Gradle plugin
            classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.2'
        }
    }
    
  2. در فایل Gradle در سطح برنامه خود (معمولاً android/app/build.gradle )، افزونه App Distribution را در زیر افزونه Android قرار دهید:

    apply plugin: 'com.android.application'
    // ...
    
    // Apply the App Distribution Gradle plugin
    apply plugin: 'com.google.firebase.appdistribution'
    // ...
    
  3. اگر پشت پراکسی یا فایروال شرکتی هستید، ویژگی سیستم جاوا زیر را اضافه کنید که به App Distribution اجازه می‌دهد تا توزیع‌های شما را در Firebase آپلود کند:

    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

مرحله 2. با Firebase احراز هویت

قبل از اینکه بتوانید از پلاگین Gradle استفاده کنید، ابتدا باید با پروژه Firebase خود احراز هویت کنید. سه راه برای رسیدن به این هدف وجود دارد:

مرحله 3. ویژگی های توزیع خود را پیکربندی کنید

  1. در فایل app/build.gradle خود، با افزودن حداقل یک بخش firebaseAppDistribution ، App Distribution را پیکربندی کنید. به عنوان مثال، برای توزیع release بین آزمایش کنندگان:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="APK"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. توزیع برنامه را می توان برای انواع ساخت و طعم محصول پیکربندی کرد. به عنوان مثال، برای توزیع debug و release بیلدها در طعم های "دمو" و "کامل" محصول:

    android {
    
        // ...
    
        buildTypes {
            debug {...}
            release {...}
        }
    
        flavorDimensions "version"
        productFlavors {
          demo {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for demo version"
                  testers="demo@testers.com"
              }
          }
          full {
              dimension "version"
              firebaseAppDistribution {
                  releaseNotes="Release notes for full version"
                  testers="full@testers.com"
              }
          }
        }
    
        // ...
    }
    
  3. برای پیکربندی توزیع از پارامترهای زیر استفاده کنید:

پارامترهای ساخت توزیع برنامه
appId

شناسه برنامه Firebase برنامه شما. فقط در صورتی که افزونه Google Services Gradle را نصب نکرده باشید، الزامی است. می‌توانید شناسه برنامه را در فایل google-services.json یا کنسول Firebase در صفحه تنظیمات عمومی پیدا کنید. مقدار موجود در فایل build.gradle شما، مقدار خروجی از افزونه google-services را لغو می کند.

appId="1:1234567890:android:321abc456def7890"
serviceCredentialsFile

مسیر فایل JSON کلید خصوصی حساب سرویس شما. فقط در صورت استفاده از احراز هویت حساب سرویس مورد نیاز است.

artifactType

نوع فایل برنامه شما را مشخص می کند. را می توان روی "AAB" یا "APK" تنظیم کرد.

artifactPath

مسیر مطلق به فایل APK یا AAB که می‌خواهید آپلود کنید.

releaseNotes یا releaseNotesFile

یادداشت های انتشار برای این ساخت.

می توانید یادداشت های انتشار را مستقیماً یا مسیر یک فایل متنی ساده را مشخص کنید.

testers یا testersFile

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

می‌توانید آزمایش‌کنندگان را به‌عنوان فهرستی از آدرس‌های ایمیل جدا شده با کاما مشخص کنید:

testers="ali@example.com, bri@example.com, cal@example.com"

یا می‌توانید مسیر فایل حاوی فهرست آدرس‌های ایمیل جدا شده با کاما را مشخص کنید:

testersFile="/path/to/testers.txt"
groups یا groupsFile

گروه‌های آزمایش‌کننده‌ای که می‌خواهید ساخت‌ها را در آنها توزیع کنید (به مدیریت آزمایش‌کنندگان رجوع کنید). گروه ها با استفاده از آن مشخص می شوند نام مستعار گروه ، که می توانید آن را در تب Testers در کنسول Firebase App Distribution پیدا کنید.

می‌توانید گروه‌ها را به‌عنوان فهرستی از نام‌های مستعار گروهی جدا شده با کاما مشخص کنید:

groups="qa-team, android-testers"

یا می‌توانید مسیر فایل حاوی فهرستی از نام‌های مستعار گروهی را که با کاما از هم جدا شده‌اند را مشخص کنید:

groupsFile="/path/to/tester-groups.txt"
stacktrace

stacktrace را برای استثناهای کاربر چاپ می کند. این در هنگام اشکال زدایی مشکلات مفید است.

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

  1. در نهایت، برای بسته‌بندی برنامه آزمایشی خود و دعوت از آزمایش‌کنندگان، اهداف BUILD-VARIANT VARIANT و appDistributionUpload BUILD-VARIANT را با بسته‌بندی Gradle پروژه خود بسازید، جایی که BUILD-VARIANT طعم و نوع ساخت اختیاری محصول است که در مرحله قبل پیکربندی کرده‌اید. برای اطلاعات بیشتر در مورد طعم محصول، پیکربندی انواع ساخت را ببینید.

    به عنوان مثال، برای توزیع برنامه خود با استفاده از release ساخت نسخه، دستور زیر را اجرا کنید:

    ./gradlew assembleRelease appDistributionUploadRelease
    

    یا اگر با حساب Google خود احراز هویت کرده اید و اعتبارنامه را در فایل ساخت Gradle خود ارائه نکرده اید، متغیر FIREBASE_TOKEN را وارد کنید:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. شما همچنین می توانید مقادیر تنظیم شده در فایل build.gradle خود را با ارسال آرگومان های خط فرمان به شکل --<property-name>=<property-value> لغو کنید. مثلا:

    • برای آپلود ساختن اشکال‌زدایی در App Distribution:

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="APK"
      
    • برای دعوت از آزمایش‌کنندگان دیگر یا حذف آزمایش‌کنندگان موجود از پروژه Firebase:

      ./gradlew appDistributionAddTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      ./gradlew appDistributionRemoveTesters
          --projectNumber=<project_number>
          --emails="anothertester@email.com, moretesters@email.com"
      

      هنگامی که یک آزمایش کننده به پروژه Firebase شما اضافه شد، می توانید آنها را به نسخه های جداگانه اضافه کنید. آزمایش‌کنندگانی که حذف می‌شوند دیگر به نسخه‌های موجود در پروژه شما دسترسی نخواهند داشت، اما همچنان ممکن است برای مدتی به نسخه‌های شما دسترسی داشته باشند.

    همچنین می‌توانید آزمایش‌کننده‌ها را با استفاده از --file="/path/to/testers.txt" به جای --emails کنید.

    وظایف appDistributionAddTesters و appDistributionRemoveTesters نیز آرگومان های زیر را می پذیرند:

    • projectNumber : شماره پروژه Firebase شما.

    • serviceCredentialsFile : مسیر فایل اعتبار سرویس Google شما. این همان آرگومان مورد استفاده در عمل آپلود است.

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

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

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

گام بعدی

برای آشنایی با نحوه توزیع نسخه‌های بسته نرم‌افزاری گام به گام، از کدلبوم Android App Bundle دیدن کنید.