Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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

Bu kılavuz, App Distribution Gradle eklentisini kullanarak Android Uygulama Paketlerinin (AAB'ler) test kullanıcılarına nasıl dağıtılacağını açıklar.

Uygulama Dağıtımı, yüklediğiniz AAB'leri işlemek ve test kullanıcılarınızın cihaz yapılandırmaları için optimize edilmiş APK'lar sunmak için Google Play'in dahili uygulama paylaşım hizmetiyle entegre olur. AAB'leri dağıtmak, aşağıdakileri yapmanızı sağlar:

  • Test kullanıcılarınızın cihazlarına göre optimize edilmiş optimize edilmiş APK'ları (Google Play tarafından sunulan) çalıştırın.

  • Cihaza özgü sorunları ortaya çıkarın ve hatalarını ayıklayın.

  • Play Özellik Teslimi ve Play Varlık Teslimi gibi uygulama paketi özelliklerini test edin.

  • Test kullanıcılarınız için indirme boyutunu azaltın.

Gerekli izinler

AAB'leri App Distribution'a yüklemek için Firebase uygulamanızı Google Play'deki bir uygulamaya bağlamanız gerekir. Bu eylemleri gerçekleştirmek için gerekli erişim düzeyine sahip olmanız gerekir.

Gerekli Firebase erişimine sahip değilseniz, Firebase konsolu IAM ayarları yoluyla bir Firebase proje Sahibinden size uygun rolü atamasını isteyebilirsiniz. Sahip bulma veya atama da dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa "Firebase projelerine izinler ve erişim" SSS bölümünü inceleyin .

Aşağıdaki tablo, bir Firebase uygulamasını Google Play'deki bir uygulamaya bağlamak ve AAB'leri yüklemek için geçerlidir.

Firebase konsolunda işlem Gerekli IAM izni Varsayılan olarak gerekli izinleri içeren IAM rolleri Ek gerekli rol(ler)
Bir Firebase uygulamasını Google Play'deki bir uygulamaya bağlama firebase.playLinks.update Aşağıdaki rollerden biri: Yönetici olarak bir Google Play geliştirici hesabına erişim
AAB'leri App Distribution'a yükleyin firebaseappdistro.releases.update Aşağıdaki rollerden biri: ––

Sen başlamadan önce

  1. Henüz yapmadıysanız, Firebase'i Android projenize ekleyin . Bu iş akışının sonunda, Firebase projenizde bir Firebase Android Uygulamanız olacak.

    Başka bir Firebase ürünü kullanmıyorsanız, yalnızca bir proje oluşturmanız ve uygulamanızı kaydetmeniz gerekir. Ek ürünler kullanmaya karar verirseniz Firebase'i Android projenize ekleyin bölümündeki tüm adımları tamamladığınızdan emin olun.

  2. Google Play'e bir Firebase bağlantısı oluşturmak ve AAB'leri yüklemek için uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:

    • Google Play'deki uygulama ve Firebase Android uygulaması, aynı paket adı kullanılarak kaydedilir.

    • Google Play'deki uygulama, uygulama kontrol panelinde kurulur ve Google Play kanallarından birine (Dahili test, Kapalı test, Açık test veya Üretim) dağıtılır.

    • Uygulamanın Google Play'deki incelemesi tamamlandı ve uygulama yayınlandı. Uygulama durumu sütununda şu durumlardan biri görüntüleniyorsa uygulamanız yayınlanmıştır: Dahili test (Taslak dahili testi 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, gidin Proje ayarları , ardından Entegrasyonlar sekmesini seçin.

    2. Google Play kartında Bağlantı'yı tıklayın.
      Halihazırda Google Play bağlantılarınız varsa bunun yerine Yönet'i tıklayın.

    3. Uygulama Dağıtımı entegrasyonunu etkinleştirmek için ekrandaki talimatları izleyin ve hangi Firebase Android Uygulamalarının Google Play'e bağlanacağını seçin.

    Google Play'e bağlanma hakkında daha fazla bilgi edinin.

1. Adım. Android projenizi kurun

  1. Kök düzeyinde (proje düzeyinde) Gradle dosyanıza ( <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.15'
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath 'com.google.firebase:firebase-appdistribution-gradle:3.2.0'
      }
    }
    

    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.15")
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath("com.google.firebase:firebase-appdistribution-gradle:3.2.0")
      }
    }
    
  2. Modül (uygulama düzeyinde) Gradle dosyanıza (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, App Distribution'ı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
    

2. Adım. Firebase ile Kimlik Doğrulayın

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

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

Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle veya <project>/<app-module>/build.gradle.kts ), Uygulama Dağıtımını en az ekleyerek 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="AAB"
              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 = "AAB"
              releaseNotesFile = "/path/to/releasenotes.txt"
              testers = "ali@example.com, bri@example.com, cal@example.com"
          }
      }
  }

  // ...
}

Yapı türleri ve ürün çeşitleri için Uygulama Dağıtımını yapılandırabilirsiniz.

Örneğin, "demo" ve "tam" ürün çeşitlerinde debug ve release yapıları 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 kurulu 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 çıkan değeri geçersiz kılar.

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

Hizmet hesabı özel anahtarı JSON dosyanızın yolu. Yalnızca hizmet hesabı kimlik doğrulaması 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ına giden mutlak yol.

releaseNotes veya releaseNotesFile

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

Sürüm notlarını doğrudan veya düz metin dosyasının yolunu belirleyebilirsiniz.

testers veya test cihazları testersFile

Derlemeleri dağıtmak istediğiniz test edicilerin e-posta adresleri.

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

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

Veya virgülle ayrılmış e-posta adresleri 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 Uygulama Dağıtımı konsolundaki Test Cihazları sekmesinde bulabilirsiniz.

Grup takma adlarının virgülle ayrılmış bir listesi olarak grupları belirtebilirsiniz:

groups="qa-team, android-testers"

Ya da grup takma adlarının virgülle ayrılmış listesini içeren bir dosyanın yolunu belirleyebilirsiniz:

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

Kullanıcı istisnaları için yığın izini yazdırır. Bu, sorunları ayıklarken yardımcı olur.

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ı ile BUILD-VARIANT ve appDistributionUpload BUILD-VARIANT hedeflerini oluşturun; burada BUILD-VARIANT önceki adımda yapılandırdığınız isteğe bağlı ürün türü ve yapı türüdür. Ürün aromaları hakkında daha fazla bilgi için Yapı çeşitlerini yapılandırma bölümüne bakın.

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

    ./gradlew bundleRelease appDistributionUploadRelease
    

    Veya Google Hesabınızla kimlik doğrulaması yaptıysanız ve Gradle yapı 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 bundleRelease appDistributionUploadRelease
    
  2. --<property-name>=<property-value> biçiminde komut satırı bağımsız değişkenleri ileterek build.gradle dosyanızda ayarlanan değerleri de geçersiz kılabilirsiniz. Örneğin:

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

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="AAB"
      
    • Ek test kullanıcılarını davet etmek veya mevcut test kullanıcılarını Firebase projenizden 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 sürümlerinize erişimlerini belirli bir süre için koruyabilirler.

    Test kullanıcılarını --emails yerine --file="/path/to/testers.txt" --emails 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 bağımsız değişkenin aynısıdır.

Gradle eklentisi, sürüm yüklemesinden sonra aşağıdaki bağlantıları verir. Bu bağlantılar, ikili dosyaları yönetmenize ve test edicilerin ve diğer geliştiricilerin doğru sürüme sahip olmalarını sağlamanıza yardımcı olur:

  • firebase_console_uri - Tek bir sürümü görüntüleyen Firebase konsolu bağlantısı. Bu bağlantıyı kuruluşunuzdaki diğer geliştiricilerle paylaşabilirsiniz.
  • testing_uri - Test kullanıcı deneyimindeki (Android yerel uygulaması) sürüme, test kullanıcılarının sürüm notlarını görüntülemesine ve uygulamayı cihazlarına yüklemesine olanak tanıyan bir bağlantı. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.
  • binary_download_uri - Uygulama ikili dosyasını (APK veya AAB dosyası) doğrudan indiren ve yükleyen imzalı bir bağlantı. Bağlantı bir saat sonra sona erer.

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

Uygulamayı test etmeye davet edilmemiş olan test kullanıcıları, başlamak için e-posta davetleri alır ve mevcut test kullanıcıları, yeni bir yapının 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 kullanıcısı kurulum kılavuzunu okuyun). Her test kullanıcısının durumunu (daveti kabul edip etmediklerini ve uygulamayı indirip indirmediklerini) Firebase konsolunda izleyebilirsiniz.

Test kullanıcılarının, uygulamayı süresi dolmadan önce test etme davetini kabul etmeleri için 30 günleri vardır. Davetiyenin süresinin dolmasına 5 gün kaldığında, Firebase konsolunda bir sürümde test kullanıcısının yanında bir süre sonu 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