Google 致力于为黑人社区推动种族平等。查看具体举措

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, App Distribution Gradle eklentisini kullanarak Android App Bundle'ların (AAB'ler) test kullanıcılarına nasıl dağıtılacağını açıklar.

App Distribution, 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 sunulur) çalıştırın.

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

  • Play Özellik Teslimatı ve Play Varlık Teslimatı 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, bir Firebase proje Sahibinden Firebase konsolu IAM ayarları aracılığıyla size uygun rolü atamasını isteyebilirsiniz. Bir Sahip bulma veya atama da dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa, "İzinler ve Firebase projelerine erişim" SSS'lerini inceleyin .

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

Firebase konsolunda eylem 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 Uygulama Dağıtımına Yükleyin firebaseappdistro.releases.update Aşağıdaki rollerden biri: ––

Sen başlamadan önce

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

    Başka bir Firebase ürünü kullanmıyorsanız, bir proje oluşturmanız ve uygulamanızı kaydetmeniz yeterlidir. 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 panosunda kurulur ve Google Play kanallarından birine dağıtılır (Dahili test, Kapalı test, Açık test veya Üretim).

    • 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ınlanır: 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, gidin Proje ayarları , ardından Entegrasyonlar sekmesini seçin.

    2. Google Play kartında Bağlantı'yı tıklayın.
      Zaten 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 Google Play'e hangi Firebase Android Uygulamalarının bağlanacağını seçin.

    Google Play'e bağlantı oluşturma hakkında daha fazla bilgi edinin.

1. Adım. Android projenizi kurun

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

    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.0.3'
        }
    }
  2. Modülünüzde (app-level) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle ), App Distribution Gradle eklentisini ekleyin:

    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
    

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

  1. app/build.gradle dosyanızda, en az bir firebaseAppDistribution bölümü ekleyerek App Distribution'ı yapılandırın. Örneğin, release derlemesini test kullanıcılarına dağıtmak için:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="AAB"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. Uygulama Dağıtımı, yapı türleri ve ürün tatları için yapılandırılabilir. Örneğin, "demo" ve "tam" ürün tatlarında debug ve release sürümlerini dağıtmak için:

    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. 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 bundleRelease 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 bundleRelease 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="AAB"
      
    • 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şimlerini sürdürebilirler.

    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ım

Uygulama paketi sürümlerinin adım adım nasıl dağıtılacağını öğrenmek için Android App Bundle kod laboratuvarını ziyaret edin.