Android uygulamalarını Firebase CLI kullanarak test kullanıcılarına dağıtma


Bu kılavuzda, Firebase CLI kullanarak Android App Bundle'ları (AAB'ler) test kullanıcılarına nasıl dağıtacağınız açıklanmaktadır. KSA aracı, bir derleme için test kullanıcılarını ve sürüm notlarını belirtmenize olanak tanır, ardından derlemeyi buna göre dağıtır.

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'in dahili uygulama paylaşım hizmetiyle entegre olur. AAB'leri dağıtarak şunları yapabilirsiniz:

  • Test kullanıcılarınızın cihazları için optimize edilmiş APK'ları (Google Play tarafından sunulur) çalıştırın.

  • Cihaza özgü sorunları tespit edip hata ayıklama

  • Play Feature Delivery ve Play Asset Delivery gibi uygulama paketi özelliklerini test edin.

  • Test kullanıcılarınızın indirme boyutunu küçültün.

Gerekli izinler

App Distribution hizmetine AAB yüklemek için Firebase uygulamanızı Google Play hizmetindeki 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 proje sahibinden Firebase konsolu IAM ayarlarını kullanarak size geçerli rolü atamasını isteyebilirsiniz. Sahip bulma veya atama dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa "Firebase projelerine erişim ve izinler" SSS bölümünü inceleyin.

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

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

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 Firebase ürünleri kullanmıyorsanız yalnızca bir proje oluşturmanız ve uygulamanızı kaydetmeniz yeterlidir. Ek ürünler kullanmaya karar verirseniz Android projenize Firebase ekleme bölümündeki tüm adımları tamamladığınızdan emin olun.

  2. Firebase konsolunun App Distribution sayfasını açın. İstendiğinde Firebase projenizi seçin, uygulama değiştiriciyi kullanarak uygulamanızı seçin ve Başlayın'ı tıklayın.

  3. 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ı aynı paket adı kullanılarak kaydedilmelidir.

    • 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 durumlardan biri bulunuyorsa uygulamanız yayınlanmış demektir: Dahili test (Taslak dahili test değil), Kapalı test, Açık test veya Üretim.

  4. Firebase Android uygulamanızı Google Play geliştirici hesabınıza bağlama:

    1. Firebase konsolunda Proje ayarları'na gidin ve Entegrasyonlar sekmesini seçin.

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

    3. App Distribution entegrasyonunu etkinleştirmek ve hangi Firebase Android uygulamalarının Google Play'e bağlanacağını seçmek için ekrandaki talimatları uygulayın.

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

1. Adım: Uygulamanızı geliştirin

Uygulamanızın yayın öncesi sürümünü test kullanıcılarına dağıtmaya hazır olduğunuzda AAB'nizi oluşturun (talimatlar için Android Studio belgelerini inceleyin).

2. adım: Uygulamanızı test kullanıcılarına dağıtma

Uygulamanızı test kullanıcılarına dağıtmak için Firebase KSA'yı kullanarak uygulamanızın dosyasını yükleyin:

  1. Firebase CLI'nın en yeni sürümünü yükleyin veya bu sürüme güncelleyin (İşletim sisteminize özel CLI için bağımsız ikili programı indirmenizi öneririz). Oturum açtığınızdan ve projelerinize erişebildiğinizden emin olun.
  2. Uygulamanızı yükleyip test kullanıcılarına dağıtmak için appdistribution:distribute komutunu çalıştırın. Dağıtımı yapılandırmak için aşağıdaki parametreleri kullanın:

    appdistribution:distribute options
    --app

    Zorunlu: Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolundaki Genel Ayarlar sayfasında bulabilirsiniz.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    CI ortamınızın kimliğini Firebase CLI ile doğruladığınızda yazdırılan bir yenileme jetonu (Daha fazla bilgi için CLI'yı CI sistemleriyle kullanma başlıklı makaleyi okuyun).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Bu derlemenin sürüm notları.

    Sürüm notlarını doğrudan belirtebilirsiniz:

    --release-notes "Text of release notes"

    Dilerseniz düz metin dosyasının yolunu da belirtebilirsiniz:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Davet etmek istediğiniz test kullanıcılarının e-posta adresleri.

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

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

    Alternatif olarak, virgülle ayrılmış e-posta adresleri listesi içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    Davet etmek istediğiniz test kullanıcısı grupları (Test kullanıcılarını yönetme bölümüne bakın). Gruplar, Firebase konsolunda bulabileceğiniz grup takma adları kullanılarak belirtilir.

    Grupları virgülle ayrılmış bir liste olarak belirtebilirsiniz:

    --groups "qa-team, trusted-testers"

    Alternatif olarak, virgülle ayrılmış grup adları listesi içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    --groups-file "/path/to/groups.txt"
    --debug

    Ayrıntılı günlük çıkışını yazdırmak için ekleyebileceğiniz bir işaret.

    --test-devices
    --test-devices-file

    Uygulama Testi temsilcisi testlerini çalıştırmak istediğiniz test cihazları.

    Test cihazlarını, noktalı virgülle ayrılmış cihaz özellikleri listesi olarak belirtebilirsiniz:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    Alternatif olarak, test cihazlarının noktalı virgülle ayrılmış listesini içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    Uygulama Testi aracısı testleri sırasında kullanılacak otomatik giriş kullanıcı adı.

    --test-password
    --test-password-file

    Uygulama Testi ajanı testleri sırasında kullanılacak otomatik giriş şifresi.

    Alternatif olarak, şifre içeren bir düz metin dosyasının yolunu da belirtebilirsiniz:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Uygulama Testi ajanı testleri sırasında kullanılacak otomatik giriş için kullanıcı adı alanının kaynak adı.

    --test-password-resource

    Uygulama Testi ajanı testleri sırasında kullanılacak otomatik giriş için şifre alanının kaynak adı.

    --test-non-blocking

    Uygulama Testi aracısı testleri çalıştırılırken ayarlanırsa komut, testleri başlatır ve tamamlanmalarını beklemeden hemen geri döner. Test sonuçlarını görmek için Firebase konsolunu ziyaret edin. Bu işaret ayarlanmazsa komut, testler tamamlanana kadar engellenir ve testlerden herhangi biri başarısız olursa hata koduyla çıkar.

    --results-bucket

    Test sonuçlarının depolandığı özel bir Google Cloud Storage (GCS) paketi. Boş bırakılırsa varsayılan paket kullanılır. Paket, faturalandırmanın etkin olduğu bir projeye ait olmalıdır. Paket belirtildiğinde, kullanılan depolama alanı için faturalandırma ücretleri uygulanır.

    Örneğin:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    Firebase CLI, sürüm yüklendikten sonra aşağıdaki bağlantıları oluşturur. Bu bağlantılar, ikili programları yönetmenize ve test kullanıcıları ile diğer geliştiricilerin doğru sürüme sahip olmasını sağlamanıza yardımcı olur:

    • firebase_console_uri - Tek bir sürümü gösteren Firebase Console'un bağlantısı. Bu bağlantıyı kuruluşunuzdaki diğer geliştiricilerle paylaşabilirsiniz.
    • testing_uri - Test kullanıcılarının sürüm notlarını görüntülemesine ve uygulamayı cihazlarına yüklemesine olanak tanıyan, test kullanıcısı deneyimindeki (yerleşik Android uygulaması) sürüme yönlendiren bağlantı. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişimi olması gerekir.
    • binary_download_uri: Uygulama ikili programını (APK veya AAB dosyası) doğrudan indirip yükleyen imzalı bir bağlantı. Bağlantının geçerlilik süresi bir saattir.

    Test kullanıcılarını ve grupları yönetme

    Sürümleri dağıtmanın yanı sıra Firebase projenize yeni test kullanıcıları davet etmek veya mevcut test kullanıcılarını kaldırmak için appdistribution:testers:add ve appdistribution:testers:remove komutlarını da kullanabilirsiniz.

    Firebase projenize eklenen test kullanıcılarını ayrı sürümlere ekleyebilirsiniz. Kaldırdığınız test kullanıcıları projenizdeki sürümlere erişemez. Yakın zamanda kaldırılan test kullanıcılarının, sürümlerinize erişiminin bir süre daha devam edebileceğini unutmayın.

    Örneğin:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    Test kullanıcısı e-postaları boşlukla ayrılmalıdır. --file /path/to/testers.txt kullanarak test kullanıcılarını da belirtebilirsiniz.

    Çok sayıda test kullanıcınız varsa grupları kullanmayı düşünebilirsiniz: Firebase projenizde grup oluşturmak veya silmek için appdistribution:group:create ve appdistribution:group:delete kullanabilirsiniz.

    appdistribution:testers:add ve appdistribution:testers:remove komutları için bir grup belirtmek üzere --group-alias kullanın.

    Örneğin:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

Derlemenizi dağıttıktan sonra 150 gün (beş ay) boyunca Firebase Console'un App Distribution kontrol panelinde kullanılabilir. Derlemenin süresinin dolmasına 30 gün kaldığında hem konsolda hem de test kullanıcınızın test cihazındaki derleme listesinde bir süre sonu bildirimi gösterilir.

Uygulamayı test etmeye davet edilmemiş 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 yükleneceğine ilişkin talimatlar için test kullanıcısı kurulum kılavuzunu okuyun). Firebase Console'da her test kullanıcısının durumunu (daveti kabul edip etmediğini ve uygulamayı indirip indirmediğini) izleyebilirsiniz.

Test kullanıcılarının, uygulamayı test etme davetini kabul etmek için 30 günü vardır. Bu sürenin sonunda davetin süresi dolar. Davetiyenin süresinin dolmasına 5 gün kaldığında, Firebase Console'da sürümdeki test kullanıcısının yanında bir süre sonu bildirimi görünür. Test kullanıcısı satırındaki açılır menüyü kullanarak davetiyeyi yeniden gönderebilirsiniz.

Sonraki adımlar