App Distribution Gradle eklentisini kullanarak App Distribution'ü Android derleme sürecinize entegre edebilirsiniz. Bu eklenti, uygulamanızın Gradle dosyasında test kullanıcılarınızı ve sürüm notlarınızı belirtmenize olanak tanır. Böylece, uygulamanızın farklı derleme türleri ve varyantları için dağıtımları yapılandırabilirsiniz.
Bu kılavuzda, App Distribution Gradle eklentisi kullanılarak APK'ların test kullanıcılarına nasıl dağıtılacağı açıklanmaktadır.
Başlamadan önce
Henüz yapmadıysanız Firebase'i Android projenize ekleyin.
Başka bir Firebase ürünü kullanmıyorsanız proje oluşturup uygulamanızı kaydetmeniz yeterlidir. Ancak gelecekte başka ü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 oluşturma
Kök düzeyindeki (proje düzeyindeki) Gradle dosyanıza (
<project>/build.gradle.kts
veya<project>/build.gradle
) App Distribution Gradle eklentisini bağımlı olarak ekleyin: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 }
Modül (uygulama düzeyi) Gradle dosyanıza (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' }
Kurumsal bir proxy'nin veya güvenlik duvarının arkasındaysanız App Distribution ürününün Firebase'e dağıtımlarınızı 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ğrulama
Gradle eklentisini kullanmadan önce aşağıdaki yöntemlerden biriyle Firebase projenizde kimlik doğrulaması yapmanız gerekir. Gradle eklentisi, varsayılan olarak başka bir kimlik doğrulama yöntemi kullanılmazsa Firebase CLI'den kimlik bilgilerini arar.
3. Adım: Dağıtım özelliklerinizi yapılandırma
Modül (uygulama düzeyi) Gradle dosyanızda (genellikle <project>/<app-module>/build.gradle.kts
veya <project>/<app-module>/build.gradle
) en az bir firebaseAppDistribution
bölümü ekleyerek App Distribution'i yapılandırın.
Örneğin, release
derlemesini test kullanıcılarına dağıtmak için aşağıdaki talimatları uygulayın:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "APK" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
App Distribution öğesini derleme türleri ve ürün aromaları için yapılandırabilirsiniz.
Örneğin, debug
ve release
derlemelerini "demo" ve "tam" ürün varyasyonlarında dağıtmak için 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:
App Distribution Derleme Parametreleri | |
---|---|
appId
|
Uygulamanızın Firebase Uygulama Kimliği. Yalnızca Google Hizmetleri Gradle eklentisi yüklü değilse gereklidir. Uygulama kimliğini appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
Hizmet hesabı özel anahtar JSON dosyanızı yolu. Yalnızca hizmet hesabı kimlik doğrulaması kullanıyorsanız gereklidir. |
artifactType
|
Uygulamanızın dosya türünü belirtir. |
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ının yolunu belirleyebilirsiniz. |
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ış bir e-posta adresi listesi olarak belirtebilirsiniz: testers="ali@example.com, bri@example.com, cal@example.com" Alternatif olarak, e-posta adreslerinin virgülle ayrılmış listesini 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ı (Test kullanıcılarını yönetme bölümüne bakın).
Gruplar, Firebase App Distribution konsolundaki Test kullanıcıları sekmesinde bulabileceğiniz Grupları, virgülle ayrılmış bir grup takma adı listesi olarak belirtebilirsiniz: groups="qa-team, android-testers" Dilerseniz virgülle ayrılmış grup takma adlarının listesini içeren bir dosyanın yolunu da belirtebilirsiniz: groupsFile="/path/to/tester-groups.txt" |
testDevices veya testDevicesFile |
Aşağıdaki dağıtım türleri otomatik test aracı beta özelliğinin bir parçasıdır. Derlemeleri dağıtmak istediğiniz test cihazları (Otomatik testler bölümüne bakın). Test cihazlarını, noktalı virgülle ayrılmış bir cihaz özellikleri listesi olarak belirtebilirsiniz: testDevices="model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait" Alternatif olarak, cihaz özelliklerinin noktalı virgül ile ayrılmış bir listesini içeren dosyanın yolunu da belirtebilirsiniz: testDevicesFile="/path/to/testDevices.txt" |
testUsername |
Otomatik testler sırasında kullanılacak otomatik giriş için 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 da belirtebilirsiniz: testPasswordFile="/path/to/testPassword.txt" |
testUsernameResource |
Otomatik testler sırasında kullanılacak otomatik giriş için kullanıcı adı alanının kaynak adı. |
testPasswordResource |
Otomatik testler sırasında kullanılacak otomatik giriş için şifre alanının kaynak adı. |
testNonBlocking |
Otomatik testleri asynkron 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, sorunların giderilmesinde faydalıdır. |
4. Adım. Uygulamanızı test kullanıcılarına dağıtma
Son olarak, test uygulamanızı paketlemek ve test kullanıcılarını davet etmek için
BUILD-VARIANT
veappDistributionUploadBUILD-VARIANT
hedeflerini projenizin Gradle sarmalayıcısıyla derleyin. Burada BUILD-VARIANT, önceki adımda yapılandırdığınız isteğe bağlı ürün çeşidi ve derleme türüdür. Ürün varyantları hakkında daha fazla bilgi için Derleme varyantlarını yapılandırma başlıklı makaleyi inceleyin.Örneğin, uygulamanızı
release
derleme varyantını kullanarak dağıtmak için aşağıdaki komutu çalıştırın:./gradlew assembleRelease appDistributionUploadRelease
Google Hesabınızla kimlik doğrulaması yaptıysanız ve Gradle derleme dosyanızda kimlik bilgilerini 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
Ayrıca,
build.gradle
dosyanızda ayarlanan değerleri--<property-name>=<property-value>
biçiminde komut satırı bağımsız değişkenleri ile geçersiz kılabilirsiniz. Örneğin:App Distribution'e hata ayıklama derlemesi yüklemek için:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
Daha fazla test kullanıcısı 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 eklenen test kullanıcılarını ayrı ayrı sürümlere ekleyebilirsiniz. Kaldırılan test kullanıcıları artık projenizdeki sürümlere erişemez, ancak belirli bir süre boyunca sürümlerinize erişmeye devam edebilirler.
Test kullanıcılarını
--emails
yerine--file="/path/to/testers.txt"
kullanarak da belirtebilirsiniz.appDistributionAddTesters
veappDistributionRemoveTesters
görevleri aşağıdaki bağımsız değişkenleri de kabul eder:projectNumber
: Firebase proje numaranız.serviceCredentialsFile
: Google hizmet kimlik bilgileri dosyanızın yolu. Bu, yükleme işlemi tarafından kullanılanla aynı bağımsız değişkendir.
Gradle eklentisi, sürüm yüklendikten sonra aşağıdaki bağlantıları oluşturur. Bu bağlantılar, ikili programları yönetmenize yardımcı olup test kullanıcılarının ve diğer geliştiricilerin doğru sürüme sahip olmasını sağlar:
firebase_console_uri
: Tek bir sürümü gösteren Firebase konsolunun bağlantısı. Bu bağlantıyı kuruluşunuzdaki diğer geliştiricilerle paylaşabilirsiniz.testing_uri
: Test kullanıcısı deneyimindeki (Android yerel uygulaması) sürümün bağlantısı. Bu bağlantı, test kullanıcılarının sürüm notlarını görüntülemesine ve uygulamayı cihazlarına yüklemesine olanak tanır. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.binary_download_uri
- Uygulama ikili programını (APK veya AAB dosyası) doğrudan indirip yükleyen bir imzalı bağlantı. Bağlantının süresi bir saat sonra dolar.
Derlemeniz dağıtıldıktan sonra Firebase konsolunun App Distribution kontrol panelinde 150 gün (beş ay) boyunca kullanıma sunulur. Derlemenin süresinin dolmasından 30 gün sonra, hem konsolda hem de test kullanıcınızın test cihazındaki derleme listesinde bir geçerlilik bitiş bildirimi görünür.
Uygulamayı test etmeye davet edilmemiş test kullanıcıları, teste başlamak için e-posta davetiyeleri alır. Mevcut test kullanıcıları ise yeni bir derlemenin teste hazır olduğuyla ilgili e-posta bildirimleri alır (test uygulamasını yükleme talimatları için test kullanıcısı kurulum kılavuzunu okuyun). Her test kullanıcısının durumunu, (daveti kabul edip etmediğini ve uygulamayı indirip indirmediğini) Firebase konsolunda izleyebilirsiniz.
Test kullanıcılarının, uygulamayı test etme davetini kabul etmek için 30 günü vardır. Bir davetin geçerlilik süresi 5 gün içinde sona erecekse Firebase konsolunda, sürümdeki test kullanıcısının yanında bir geçerlilik bitiş bildirimi görünür. Davet, test kullanıcısı satırındaki açılır menüyü kullanarak yeniden gönderilerek uzatılabilir.
Sonraki adımlar
Test kullanıcılarının uygulamanızla ilgili geri bildirim (ekran görüntüleri dahil) göndermelerini kolaylaştırmak için uygulama içi geri bildirimi uygulayın.
Uygulamanızın yeni derlemeleri yüklenmeye hazır olduğunda test kullanıcılarınıza nasıl uygulama içi uyarı göstereceğinizi öğrenin.
Uygulama paketi sürümlerinin adım adım nasıl dağıtılacağını öğrenmek için Android App Bundle codelab'ini ziyaret edin.
CI/CD'yi kullanarak Android uygulamalarını QA test kullanıcılarına dağıtmayla ilgili en iyi uygulamaları öğrenin.