获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Gradle kullanarak Android uygulamalarını test kullanıcılarına dağıtın

App Distribution Gradle eklentisini kullanarak App Distribution'ı Android oluşturma sürecinize entegre edebilirsiniz. Eklenti, uygulamanızın build.gradle dosyasında test edicilerinizi ve sürüm notlarınızı belirlemenize olanak tanıyarak uygulamanızın farklı yapı türleri ve varyantları için dağıtımları yapılandırmanıza olanak tanır.

Bu kılavuz, APK'lerin App Distribution Gradle eklentisini kullanarak test kullanıcılarına nasıl dağıtılacağını açıklar.

Sen başlamadan önce

Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .

Başka bir Firebase ürünü kullanmıyorsanız, bir proje oluşturmanız ve uygulamanızı kaydetmeniz yeterlidir. Ancak gelecekte ek ürünler kullanmaya karar verirseniz, yukarıda bağlantısı verilen sayfadaki tüm adımları tamamladığınızdan emin olun.

1. Adım. Android projenizi kurun

  1. Kök düzeyinde (proje düzeyinde) Gradle dosyanızda ( <project>/build.gradle veya <project>/build.gradle.kts ), App Distribution Gradle eklentisini bir buildscript bağımlılığı olarak ekleyin:

    harika

    buildscript {
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    
      dependencies {
          ...
          classpath 'com.android.tools.build:gradle:7.2.0'
    
          // Make sure that you have the Google services Gradle plugin dependency
          classpath 'com.google.gms:google-services:4.3.14'
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath 'com.google.firebase:firebase-appdistribution-gradle:3.1.1'
      }
    }
    

    Kotlin

    buildscript {
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    
      dependencies {
          ...
          classpath("com.android.tools.build:gradle:7.2.0")
    
          // Make sure that you have the Google services Gradle plugin dependency
          classpath("com.google.gms:google-services:4.3.14")
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath("com.google.firebase:firebase-appdistribution-gradle:3.1.1")
      }
    }
    
  2. Modül (app-level) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle veya <project>/<app-module>/build.gradle.kts ), App Distribution Gradle eklentisini ekleyin:

    harika

    plugins {
      id 'com.android.application'
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the App Distribution Gradle plugin
      id 'com.google.firebase.appdistribution'
    }
    

    Kotlin

    plugins {
      id("com.android.application")
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the App Distribution Gradle plugin
      id("com.google.firebase.appdistribution")
    }
    
  3. Kurumsal bir proxy veya güvenlik duvarının arkasındaysanız, Uygulama Dağıtımının dağıtımlarınızı Firebase'e yüklemesini sağlayan aşağıdaki Java sistem özelliğini ekleyin:

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

2. Adım. Firebase ile kimlik doğrulaması yapın

Gradle eklentisini kullanabilmeniz için önce Firebase projenizle aşağıdaki yollardan biriyle kimlik doğrulaması yapmalısınız. Varsayılan olarak, başka bir kimlik doğrulama yöntemi kullanılmıyorsa, Gradle eklentisi Firebase CLI'den kimlik bilgilerini arar.

Adım 3. Dağıtım özelliklerinizi yapılandırın

Modülünüzde (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle veya <project>/<app-module>/build.gradle.kts ), en az ekleyerek Uygulama Dağıtımını yapılandırın bir firebaseAppDistribution bölümü.

Örneğin, release derlemesini test kullanıcılarına dağıtmak için şu talimatları izleyin:

harika

android {

  // ...

  buildTypes {
      release {
          firebaseAppDistribution {
              artifactType="APK"
              releaseNotesFile="/path/to/releasenotes.txt"
              testers="ali@example.com, bri@example.com, cal@example.com"
          }
      }
  }

  // ...
}

Kotlin

import com.google.firebase.appdistribution.gradle.firebaseAppDistribution

android {

  // ...

  buildTypes {
      release {
          firebaseAppDistribution {
              artifactType = "APK"
              releaseNotesFile = "/path/to/releasenotes.txt"
              testers = "ali@example.com, bri@example.com, cal@example.com"
          }
      }
  }

  // ...
}

Uygulama Dağıtımını yapı türleri ve ürün tatları için yapılandırabilirsiniz.

Örneğin, "demo" ve "tam" ürün tatlarındaki debug ve release sürümlerini dağıtmak için şu talimatları izleyin:

harika

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"
          }
      }
  }

  // ...
}

Kotlin

import com.google.firebase.appdistribution.gradle.firebaseAppDistribution

android {

  // ...

  buildTypes {
      getByName("debug") {...}
      getByName("release") {...}
  }

  flavorDimensions += "version"
  productFlavors {
      create("demo") {
          dimension = "version"
          firebaseAppDistribution {
              releaseNotes = "Release notes for demo version"
              testers = "demo@testers.com"
          }
      }
      create("full") {
          dimension = "version"
          firebaseAppDistribution {
              releaseNotes = "Release notes for full version"
              testers = "full@testers.com"
          }
      }
  }

  // ...
}

Dağıtımı yapılandırmak için aşağıdaki parametreleri kullanın:

Uygulama Dağıtımı Oluşturma Parametreleri
appId

Uygulamanızın Firebase Uygulama Kimliği. Yalnızca Google Services Gradle eklentisi yüklü değilse gereklidir. Uygulama Kimliğini google-services.json dosyasında veya Genel Ayarlar sayfasındaki Firebase konsolunda bulabilirsiniz. build.gradle dosyanızdaki değer, google-services eklentisinden gelen değer çıktısını geçersiz kılar.

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

Hizmet hesabınızın özel anahtarı JSON dosyanızın yolu. Yalnızca hizmet hesabı kimlik doğrulamasını kullanıyorsanız gereklidir.

artifactType

Uygulamanızın dosya türünü belirtir. "AAB" veya "APK" olarak ayarlanabilir.

artifactPath

Yüklemek istediğiniz APK veya AAB dosyasının mutlak yolu.

releaseNotes veya releaseNotesFile

Bu yapı için sürüm notları.

Ya doğrudan sürüm notlarını ya da bir düz metin dosyasının yolunu belirtebilirsiniz.

testers veya testersFile

Derlemeleri dağıtmak istediğiniz test kullanıcılarının e-posta adresleri.

Test kullanıcılarını virgülle ayrılmış e-posta adresleri listesi olarak belirtebilirsiniz:

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

Veya virgülle ayrılmış bir e-posta adresi listesi içeren bir dosyanın yolunu belirtebilirsiniz:

testersFile="/path/to/testers.txt"
groups veya groupsFile

Derlemeleri dağıtmak istediğiniz test kullanıcısı grupları (bkz. Test kullanıcılarını yönetme ). Gruplar kullanılarak belirtilir grup takma adları , Firebase App Distribution konsolundaki Test Ediciler sekmesinde bulabilirsiniz.

Grupları, grup takma adlarının virgülle ayrılmış listesi olarak belirtebilirsiniz:

groups="qa-team, android-testers"

Veya grup takma adlarının virgülle ayrılmış listesini içeren bir dosyanın yolunu belirtebilirsiniz:

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

Kullanıcı istisnaları için yığın izini yazdırır. Bu, sorunlarda hata ayıklarken yararlıdır.

4. Adım. Uygulamanızı test kullanıcılarına dağıtın

  1. Son olarak, test uygulamanızı paketlemek ve test kullanıcılarını davet etmek için, projenizin Gradle sarmalayıcısıyla BUILD-VARIANT ve appDistributionUpload BUILD-VARIANT VARIANT'ı oluşturun; burada BUILD-VARIANT , önceki adımda yapılandırdığınız isteğe bağlı ürün çeşidi ve yapı türüdür. Ürün lezzetleri hakkında daha fazla bilgi için bkz. Yapı varyantlarını yapılandırma .

    Örneğin, uygulamanızı release derleme varyantını kullanarak dağıtmak için aşağıdaki komutu çalıştırın:

    ./gradlew assembleRelease appDistributionUploadRelease
    

    Veya Google Hesabınızla kimlik doğrulaması yaptıysanız ve Gradle derleme dosyanızda kimlik bilgileri sağlamadıysanız, FIREBASE_TOKEN değişkenini ekleyin:

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. Ayrıca --<property-name>=<property-value> biçiminde komut satırı bağımsız değişkenleri ileterek build.gradle dosyanızda ayarlanan değerleri geçersiz kılabilirsiniz. Örneğin:

    • App Distribution'a bir hata ayıklama derlemesi yüklemek için:

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="APK"
      
    • Firebase projenizden ek test kullanıcıları davet etmek veya mevcut test kullanıcılarını kaldırmak için:

      ./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 projenize bir test kullanıcısı eklendikten sonra, bunları ayrı sürümlere ekleyebilirsiniz. Kaldırılan test kullanıcıları artık projenizdeki sürümlere erişemez, ancak yine de bir süreliğine sürümlerinize erişimi elinde tutabilir.

    Test kullanıcılarını --file="/path/to/testers.txt" yerine --emails kullanarak da belirtebilirsiniz.

    appDistributionAddTesters ve appDistributionRemoveTesters görevleri ayrıca aşağıdaki bağımsız değişkenleri kabul eder:

    • projectNumber : Firebase proje numaranız.

    • serviceCredentialsFile : Google hizmeti kimlik bilgileri dosyanızın yolu. Bu, yükleme eylemi tarafından kullanılan argümanın aynısıdır.

Derlemenizi dağıttıktan sonra, 150 gün (beş ay) boyunca Firebase konsolunun Uygulama Dağıtımı panosunda kullanılabilir hale gelir. Derlemenin süresinin dolmasına 30 gün kala, hem konsolda hem de test kullanıcınızın test cihazındaki derlemeler listesinde bir sona erme bildirimi görünür.

Uygulamayı test etmeye davet edilmemiş olan test kullanıcıları, başlamak için e-posta davetiyeleri alır ve mevcut test kullanıcıları, yeni bir derlemenin test edilmeye hazır olduğuna dair e-posta bildirimleri alır (test uygulamasının nasıl kurulacağına ilişkin talimatlar için test cihazı kurulum kılavuzunu okuyun). Her bir test kullanıcısının durumunu (davetiyeyi kabul edip etmediklerini ve uygulamayı indirip indirmediklerini) Firebase konsolunda izleyebilirsiniz.

Test kullanıcılarının, uygulamanın süresi dolmadan önce uygulamayı test etme davetini kabul etmesi için 30 günü vardır. Bir davetiyenin süresinin dolmasına 5 gün kala, bir sürümdeki test kullanıcısının yanında Firebase konsolunda bir sona erme bildirimi görünür. Bir davet, test kullanıcısı satırındaki açılır menü kullanılarak yeniden gönderilerek yenilenebilir.

Sonraki adımlar