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

App Distribution'ı Android derleme sürecinize entegre etmek için App Distribution Gradle eklentisi. Eklenti, test kullanıcılarınızı belirtmenize ve uygulamanızın Gradle dosyasındaki sürüm notları sayesinde dağıtımları ve varyantlarını da test edebilirsiniz.

Bu kılavuzda, Android App Bundle'ların (AAB'ler) test kullanıcılarına nasıl dağıtılacağı açıklanmaktadır App Distribution Gradle eklentisini kullanın.

App Distribution, Google Play'in dahili uygulama paylaşımı hizmetiyle entegre olarak aşağıdakileri yapabilmenizi sağlar: yüklediğiniz AAB'leri işler ve test kullanıcılarınızın kullanımı için optimize edilmiş APK'ları sunar cihaz yapılandırmaları. AAB dağıtma, aşağıdakileri yapmanıza olanak tanır:

  • Uygulamanız için optimize edilmiş (Google Play tarafından sunulan) optimize edilmiş APK'ları test kullanıcılarının cihazlar.

  • Cihaza özgü sorunları bulun ve hataları ayıklayın.

  • Aşağıdakiler gibi uygulama paketi özelliklerini test edin: Play Özellik Dağıtımı ve Play Asset Delivery'yi kapsar.

  • Test kullanıcılarınız için indirmelerin boyutunu küçültün.

Gerekli izinler

AAB'leri App Distribution'a yüklemek için Firebase uygulamanızı bir uygulamaya bağlamanız gerekir bulabilirsiniz. Gerekli erişim düzeyine sahip olmanız gerekir bu işlemleri gerçekleştirebilirsiniz.

Gerekli Firebase erişiminiz yoksa bir Firebase projesinden yardım isteyebilirsiniz. size uygun rolü atayacak şekilde ayarlamak için Firebase konsolu IAM ayarları. Aşağıdakiler dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa: veya bir Sahip bulduğunda veya atadıktan sonra "Firebase projelerine izinler ve erişim" SSS.

Aşağıdaki tablo, bir Firebase uygulamasını aşağıdaki konumlardaki bir uygulamaya bağlamak için geçerlidir: AAB'leri yükleyebilirsiniz.

Firebase konsolundaki işlem Gerekli IAM izni tarafından gerekli izinleri içeren IAM rolleri varsayılan Gerekli diğer roller
Firebase uygulamasını Google Play'de bir uygulamaya bağlama firebase.playLinks.update Aşağıdaki rollerden biri: Google Play geliştirici hesabına şu hesapla erişme: Yönetici
AAB'leri App Distribution'a yükleme firebaseappdistro.releases.update Aşağıdaki rollerden biri: -–

Başlamadan önce

  1. Henüz yapmadıysanız Firebase'i Android cihazınıza ekleyin inceleyebilirsiniz. Bu iş akışının sonunda, Firebase projenizde bir Firebase Android uygulaması olmalıdır.

    Başka bir Firebase ürünü kullanmıyorsanız yalnızca bir projenizi ve uygulamanızı kaydedin. Ek URL'ler kullanmaya emin olmak istiyorsanız adım adım talimatlara Firebase'i Android projenize ekleyin.

  2. Google Play ile Firebase bağlantısı oluşturmak ve AAB'leri yüklemek için uygulamanız aşağıdaki şartları karşılıyor:

    • Hem Google Play'deki uygulama hem de Firebase Android uygulaması kayıtlı olmalıdır. aynı paket adını kullanmanız gerekir.

    • Google Play'deki uygulama uygulamada ayarlanmış olmalıdır kontrol paneli ve Google Play kanallarından birine dağıtılmaktadır (Dahili test, Kapalı test, açık test veya Üretim).

    • Uygulamanın Google Play'deki incelemesi tamamlanmış ve uygulama yayınlanmış olmalıdır. Uygulama durumu sütununda Şu durumlar: Dahili test (Taslak dahili test değil), Kapalı test, açık test veya Üretim.

  3. Firebase Android uygulamanızı Google Play geliştirici hesabınıza bağlayın:

    1. Firebase konsolunda Proje ayarları, ardından Integrations (Entegrasyonlar) sekmesini seçin.

    2. Google Play kartında Bağlan'ı tıklayın.
      . Google Play bağlantılarınız zaten varsa Yönet'i tıklayın. .

    3. App Distribution'ı etkinleştirmek için ekrandaki talimatları uygulayın entegrasyonu tıklayın ve Google'a bağlanacak Firebase Android uygulamalarını seçin Oyna.

    Daha fazla bilgi: Google Play'e bağlama.

1. Adım. Android projenizi oluşturun

  1. Kök düzeyindeki (proje düzeyinde) Gradle dosyanızda (<project>/build.gradle.kts veya <project>/build.gradle), Bağımlılık olarak App Distribution Gradle eklentisi:

    Kotlin

    plugins {
        // ...
        id("com.android.application") version "7.3.0" apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the App Distribution Gradle plugin
        id("com.google.firebase.appdistribution") version "5.0.0" apply false
    }
    

    Groovy

    plugins {
        // ...
        id 'com.android.application' version '7.3.0' apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the App Distribution Gradle plugin
        id 'com.google.firebase.appdistribution' version '5.0.0' apply false
    }
    
  2. Modülünüz (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), App Distribution Gradle eklentisini ekleyin:

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

    Groovy

    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'nin veya güvenlik duvarının arkasındaysanız aşağıdakileri ekleyin Java sistem özelliği App Distribution'ın dağıtımlarınızı Firebase'e yüklemesini sağlar:

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

2. Adım. Firebase ile kimlik doğrulama

Gradle eklentisini kullanabilmeniz için önce aşağıdaki yöntemlerden birini kullanarak Firebase için doğrulayabilirsiniz. Varsayılan olarak Gradle eklentisi başka bir kimlik doğrulama yöntemi yoksa Firebase CLI'dan kimlik bilgilerini arar yöntemi kullanılır.

3. Adım: Dağıtım özelliklerinizi yapılandırma

Modülünüz (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) ekleyerek, App Distribution'ı yapılandırmak için en az bir firebaseAppDistribution bölüm.

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

Kotlin

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

android {

  // ...

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

  // ...
}

Groovy

android {

  // ...

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

  // ...
}

App Distribution'ı şunun için yapılandırabilirsiniz: derleme türlerini ve ürün aromalarını test edin.

Örneğin, debug ve release derlemelerini "demo"da dağıtmak için ve "full" aşağıdaki talimatları uygulayın:

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

  // ...
}

Groovy

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

  // ...
}

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

Uygulama Dağıtımı Derleme Parametreleri
appId

Uygulamanızın Firebase Uygulama Kimliği. Yalnızca Google Services Gradle eklentisi yüklendi. Uygulama kimliğini şurada bulabilirsiniz: google-services.json dosyası veya üzerindeki Firebase konsolunu Genel Ayarlar sayfası. build.gradle metriğinizdeki değer dosyası, google-services öğesindeki değeri geçersiz kılar eklentisidir.

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

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

artifactType

Uygulamanızın dosya türünü belirtir. Şuna ayarlanabilir: "AAB" veya "APK".

artifactPath

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

releaseNotes veya releaseNotesFile

Bu derlemenin sürüm notları.

Sürüm notlarını doğrudan belirtebilir veya düz metin dosyasına giden yol.

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 listesi olarak belirtebilirsiniz adresler:

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

Alternatif olarak, virgülle ayrılmış bir dosyanın yolunu belirtebilirsiniz e-posta adresleri listesi:

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, size gönderebileceğiniz grup takma adları kullanılarak belirtilir Firebase'deki Test kullanıcıları sekmesinde bulabilirsiniz. App Distribution'a gidin.

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

groups="qa-team, android-testers"

Alternatif olarak, virgülle ayrılmış bir dosyanın yolunu belirtebilirsiniz grup takma adları listesi:

groupsFile="/path/to/tester-groups.txt"
testDevices veya testDevicesFile

Aşağıdaki dağıtım türleri, Otomatik test kullanıcısı beta özelliği kapsamındadır.

Derlemeleri dağıtmak istediğiniz test cihazları (Otomatik testler bölümüne bakın).

Test cihazlarını, test cihazlarını, önceden tanımlanmış bir sorgu için cihaz özellikleri:

testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

Alternatif olarak, noktalı virgülle ayrılmış bir dosyanın yolunu belirtebilirsiniz cihaz özellikleri listesi:

testDevicesFile="/path/to/testDevices.txt"
testUsername

Otomatik testler sırasında kullanılacak otomatik giriş kullanıcı adı.

testPassword veya testPasswordFile

Otomatik testler sırasında kullanılacak otomatik giriş şifresi.

Alternatif olarak, şifre içeren bir düz metin dosyasının yolunu belirtebilirsiniz:

testPasswordFile="/path/to/testPassword.txt"
testUsernameResource

Otomatik testler sırasında kullanılacak otomatik girişe yönelik kullanıcı adı alanının kaynak adı.

testPasswordResource

Otomatik testler sırasında kullanılacak otomatik giriş şifre alanının kaynak adı.

testNonBlocking

Otomatik testleri eşzamansız olarak çalıştırın. Otomatik test sonuçları için Firebase konsolunu ziyaret edin.

stacktrace

Kullanıcı istisnaları için yığın izlemeyi (stack trace) yazdırır. Bu adım, hata ayıklama sorunları.

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 BUILD-VARIANT ve appDistributionUploadBUILD-VARIANT projenin Gradle sarmalayıcısı (burada BUILD-VARIANT isteğe bağlıdır). ürün aromasını ve derleme türünü değiştirin. Ürün aromaları hakkında daha fazla bilgi için şu sayfaya bakın: Derleme varyantlarını yapılandırın.

    Örneğin, uygulamanızı release derleme varyantını kullanarak dağıtmak için şu komutu kullanın:

    ./gradlew bundleRelease appDistributionUploadRelease
    

    Kimliğinizi Google Hesabınızla doğruladıysanız ve Gradle derleme dosyanızda kimlik bilgileri sağlamadıysanız: FIREBASE_TOKEN değişkeni:

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

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

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="AAB"
      
    • Firebase'inizden başka test kullanıcıları davet etmek veya mevcut test kullanıcılarını kaldırmak için proje:

      ./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 eklenen test kullanıcılarını şuraya ekleyebilirsiniz: ayrı ayrı yayınlayabileceksiniz. Kaldırılan test kullanıcıları artık veya sürümlerinize erişmeye devam edebilir. belirli bir süre için geçerli.

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

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

    • projectNumber: Firebase proje numaranız.

    • serviceCredentialsFile: Google hizmeti kimlik bilgileri dosyanızın yolu. Bu, yükleme işlemi tarafından kullanılan bağımsız değişkenle aynıdır.

Gradle eklentisi, sürüm yüklendikten sonra aşağıdaki bağlantıları görüntüler. Bu bağlantıları, ikili programları yönetmenize yardımcı olur ve test kullanıcılarının ve diğer geliştiricilerin doğru sürümü kullanın:

  • firebase_console_uri - Şu öğenin gösterildiği Firebase konsolu bağlantısı: yayınlanmıştır. Bu bağlantıyı diğer geliştiricilerle şurada paylaşabilirsiniz: org.
  • testing_uri - Test kullanıcısı deneyimindeki sürümün bağlantısı Test kullanıcılarının sürümü görüntülemesini sağlayan (Android yerel uygulaması) not alıp uygulamayı cihazlarına yükleyebilir. Test kullanıcısının şunlara erişmesi gerekiyor: bu bağlantıyı kullanabilirsiniz.
  • binary_download_uri - Doğrudan indirilen ve açılan imzalı bir bağlantı Uygulama ikili programını (APK veya AAB dosyası) yükler. Bağlantının süresi şu tarihten sonra dolar: saat.

Derlemenizi dağıttıktan sonra tekrar Firebase konsolunun App Distribution kontrol paneli 150 gün (beş ay). Derlemenin süresinin dolmasına 30 gün kaldığında hem kontrol edin.

Uygulamayı test etmek üzere davet edilmemiş test kullanıcıları ve mevcut test kullanıcıları yeni bir derlemenin başlatılacağına dair test etmeye hazır ( test cihazı kurulum kılavuzu testin nasıl yükleneceğiyle ilgili talimatlar için uygulamasında). Her test kullanıcısının durumunu, Davetiyeyi ve uygulamayı Firebase konsolunda indirip indirmediğini görebilirsiniz.

Test kullanıcılarının 30 gün içinde uygulamayı test etme davetini süresi dolmadan kabul etmeleri gerekir. Bir davetiyenin süresinin dolmasının üzerinden 5 gün geçmişse, Sürümde test kullanıcısının yanındaki Firebase konsolu. Davetiye, , test kullanıcısı satırındaki açılır menüyü kullanarak yeniden göndererek yenilenir.

Sonraki adımlar