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, Android App Bundle'ların (AAB'ler) test kullanıcılarına nasıl dağıtılacağı açıklanmaktadır App Distribution Gradle eklentisi kullanın.
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 amacıyla Google Play'ın dahili uygulama paylaşım hizmetiyle entegre olur. 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.
Cihazlara özgü sorunları tespit edip hata 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
App Distribution'e AAB yüklemek için Firebase uygulamanızı Google Play'deki bir uygulamaya bağlamanız gerekir. Bu işlemleri gerçekleştirmek için gerekli erişim düzeyine sahip olmanız gerekir.
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: Google Play ve AAB'ler yükleme.
Firebase konsolunda işlem | Gerekli IAM izni | tarafından gerekli izinleri içeren IAM rolleri varsayılan | Gerekli ek roller |
---|---|---|---|
Bir Firebase uygulamasını Google Play uygulamasındaki bir uygulamaya bağlayın | firebase.playLinks.update
|
Aşağıdaki rollerden biri: | Google Play geliştirici hesabına şu hesapla erişin: Yönetici |
AAB'leri App Distribution hedefine yükleme | firebaseappdistro.releases.update
|
Aşağıdaki rollerden biri: | -– |
Başlamadan önce
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 Firebase ürünü kullanmıyorsanız tek yapmanız gereken bir proje oluşturmak ve uygulamanızı kaydetmektir. Başka ürünler kullanmaya karar verirseniz Android projenize Firebase ekleme başlıklı makaledeki tüm adımları tamamladığınızdan emin olun.
Google Play'e Firebase bağlantısı oluşturmak ve AAB'leri yüklemek için uygulamanızın şu koşulları karşıladığından emin olun:
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, uygulama kontrol panelinde ayarlanmalı ve Google Play kanallarından birine (Dahili test, Kapalı test, Açık test veya Üretim) dağıtılmalıdır.
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.
Firebase Android uygulamanızı Google Play geliştirici hesabınıza bağlayın:
Firebase konsolunda
gidin ve Entegrasyonlar sekmesini seçin. Proje ayarlarınıza Google Play kartında Bağlan'ı tıklayın.
. Google Play bağlantılarınız zaten varsa Yönet'i tıklayın. .App Distribution entegrasyonunu etkinleştirmek ve Google Play'e hangi Firebase Android uygulamalarının bağlanacağını seçmek için ekrandaki talimatları uygulayın.
Daha fazla bilgi: Google Play'e bağlama.
1. Adım. Android projenizi oluşturma
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 (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 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 kullanabilmek için önce aşağıdaki yöntemlerden biriyle Firebase projenizle kimlik doğrulamanız gerekir. 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 (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 ş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 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 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. |
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" Dilerseniz virgülle ayrılmış e-posta adresleri listesi içeren bir dosyanın yolunu da 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, 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 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ı, kullanıcıların noktalı virgülle ayrılmış bir listesi olarak cihaz özellikleri: 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ş 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ş 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 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
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 ş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
Ayrıca,
build.gradle
dosyanızda ayarlanan değerleri komut satırı bağımsız değişkenleri--<property-name>=<property-value>
. Örneğin:App Distribution'e hata ayıklama derlemesi yüklemek için:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="AAB"
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 bir süre boyunca sürümlerinize erişmeye devam edebilir.
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 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 dosyaları yönetmenize ve test kullanıcılarının ve diğer geliştiricilerin doğru sürümü kullandığından emin olmanıza yardımcı olur:
firebase_console_uri
: Tek bir sürümü gösteren Firebase konsolunun bağlantısı. Bu bağlantıyı diğer geliştiricilerle şurada paylaşabilirsiniz: org.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 şunlara erişmesi gerekiyor: bu bağlantıyı kullanabilirsiniz.binary_download_uri
: Uygulama ikilisini (APK veya AAB dosyası) doğrudan indirip yükleyen imzalı bir bağlantıdır. 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 (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. Davetiye, , test kullanıcısı satırındaki açılır menüyü kullanarak yeniden göndererek yenilenir.
Sonraki adımlar
Test kullanıcılarının uygulamanızla ilgili geri bildirim (ekran görüntüleri dahil) göndermesini kolaylaştırmak için uygulama içi geri bildirim özelliğini uygulayın.
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'yi kullanarak Android uygulamalarını QA test kullanıcılarına dağıtmayla ilgili en iyi uygulamaları öğrenin.