App Distribution özelliğini 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, APK'ların App Distribution Gradle eklentisi.
Başlamadan önce
Henüz yapmadıysanız Firebase'i Android cihazınıza ekleyin inceleyebilirsiniz.
Başka bir Firebase ürünü kullanmıyorsanız yalnızca bir projenizi ve uygulamanızı kaydedin. Ancak, ek gelecekte ürünler satın almak istiyorsanız sayfadaki tüm adımları tamamladığınızdan yukarıda bağlantılıdır.
1. Adım. Android projenizi oluşturun
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 }
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' }
Kurumsal bir proxy'nin veya güvenlik duvarının arkasındaysanız aşağıdakileri ekleyin Java sistem özelliği App Distribution için dağıtımlarınızı Firebase'e yüklemenizi sağlar:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
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 işlemi yoksa Firebase KSA'nın 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
), aşağıdaki gibi ekleyerek App Distribution yapılandırın:
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 = "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 uygulamasını şunun için yapılandırabilirsiniz: derleme türleri 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:
App Distribution Derleme Parametreleri | |
---|---|
appId
|
Uygulamanızın Firebase Uygulama Kimliği. Yalnızca
Google Services Gradle eklentisi yüklendi. Uygulama kimliğini şurada bulabilirsiniz:
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:
|
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 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
Son olarak, test uygulamanızı paketlemek ve test kullanıcılarını davet etmek için
BUILD-VARIANT
veappDistributionUploadBUILD-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 assembleRelease 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 assembleRelease appDistributionUploadRelease
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:Hata ayıklama derlemesini App Distribution hizmetine yüklemek için:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
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
veappDistributionRemoveTesters
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örüntülendiği Firebase konsolunun 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 150 gün (beş ay) App Distribution kontrol paneli. 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, Bir 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
Uygulama içi geri bildirimi hayata geçirin ve test kullanıcılarının uygulamanızla ilgili geri bildirim göndermelerini kolaylaştırmak için (örneğin, ekran görüntüleri).
Uygulama içi uyarıları nasıl görüntüleyeceğinizi öğrenin kullanıma sunulduğunda test kullanıcılarınıza gönderin.
Android App Bundle codelab'ini ziyaret edin inceleyin.
CI/CD kullanarak Android uygulamalarını kalite güvencesi test kullanıcılarına dağıtma ile ilgili en iyi uygulamaları öğrenin.