Fastlane'i kullanarak Android uygulamalarını test kullanıcılarına dağıtma

Bu kılavuzda, AAB derlemelerinin Fastlane, iOS ve Android'in geliştirilmesini ve yayınlanmasını otomatikleştiren açık kaynak bir platform Fastfile içinde tanımlanan basit talimatları uygular. Ayarları yaptıktan sonra ve Fastfile cihazınızı kullanarak App Distribution'ı fastlane'e entegre edebilirsiniz yapılandırma.

App Distribution, Google Play'in dahili uygulama paylaşımı hizmetiyle entegre olarak aşağıdakileri yapabilmenizi sağlar: yüklediğiniz AAB'leri işler ve test kullanıcılarınızın kullanımı için optimize edilmiş APK'ları sunar cihaz yapılandırmaları. 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.

  • Cihaza özgü sorunları bulun ve hataları 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

AAB'leri App Distribution'a yüklemek için Firebase uygulamanızı bir uygulamaya bağlamanız gerekir bulabilirsiniz. Gerekli erişim düzeyine sahip olmanız gerekir bu işlemleri gerçekleştirebilirsiniz.

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: AAB'leri yükleyebilirsiniz.

Firebase konsolundaki işlem Gerekli IAM izni tarafından gerekli izinleri içeren IAM rolleri varsayılan Gerekli diğer roller
Firebase uygulamasını Google Play'de bir uygulamaya bağlama firebase.playLinks.update Aşağıdaki rollerden biri: Google Play geliştirici hesabına şu hesapla erişme: Yönetici
AAB'leri App Distribution'a yükleme firebaseappdistro.releases.update Aşağıdaki rollerden biri: -–

Başlamadan önce

  1. 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 bir Firebase ürünü kullanmıyorsanız yalnızca bir projenizi ve uygulamanızı kaydedin. Ek URL'ler kullanmaya emin olmak istiyorsanız adım adım talimatlara Firebase'i Android projenize ekleyin.

  2. Google Play ile Firebase bağlantısı oluşturmak ve AAB'leri yüklemek için uygulamanız aşağıdaki şartları karşılıyor:

    • 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 uygulamada ayarlanmış olmalıdır kontrol paneli ve Google Play kanallarından birine dağıtılmaktadır (Dahili test, Kapalı test, açık test veya Üretim).

    • 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.

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

    1. Firebase konsolunda Proje ayarları, ardından Integrations (Entegrasyonlar) sekmesini seçin.

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

    3. App Distribution'ı etkinleştirmek için ekrandaki talimatları uygulayın entegrasyonu tıklayın ve Google'a bağlanacak Firebase Android uygulamalarını seçin Oyna.

    Daha fazla bilgi: Google Play'e bağlama.

1. Adım. Fastlane kurulumu

  1. Fastlane'i yükleme ve kurma

  2. Fastlane yapılandırmanıza App Distribution eklemek için şu komutu çalıştırın: komutunu çalıştırın:

    fastlane add_plugin firebase_app_distribution

    Komutta bir seçenek gösteriliyorsa Option 3: RubyGems.org'i seçin.

2. Adım. Firebase ile kimlik doğrulama

Fastlane eklentisini kullanabilmeniz için öncelikle aşağıdaki yöntemlerden birini kullanarak Firebase için doğrulayabilirsiniz. Varsayılan olarak, Fastlane eklentisi başka bir kimlik doğrulama yöntemi yoksa Firebase CLI'dan kimlik bilgilerini arar yöntemi kullanılır.

3. Adım: Fastfile'ınızı kurun ve uygulamanızı dağıtın

  1. ./fastlane/Fastfile şeritte bir firebase_app_distribution blok. Aşağıdaki parametreleri kullanarak dağıtımı yapılandırın:
    firebase_app_distribution parametreleri
    app

    Zorunlu: Uygulamanızın Firebase Uygulama Kimliği. Siz Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfası.

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Firebase CLI (okuma CLI'yı CI sistemleriyle kullanma bakın).

    service_credentials_file

    Google hizmet hesabı json dosyanızın yolu. Nasıl yapılacağını öğrenmek için yukarıdaki bilgilere bakın. hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları uygulayın.

    android_artifact_type

    Android dosya türünü (APK veya AAB) belirtir.

    android_artifact_path

    apk_path (desteği sonlandırılmış) ile değiştirilir. Mutlak yol yüklemek istediğiniz APK veya AAB dosyasını seçin. Eğer belirtilmedi, fastlane dosyanın konumunu şeritten belirler dosyanın oluşturulduğu yer.

    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"

    İsterseniz 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ı virgülle ayrılmış e-posta listesi olarak belirtebilirsiniz adresler:

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

    Veya bir düz metin dosyasının yolunu belirtmek için e-posta adreslerinin virgülle ayrılmış listesi:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Davet etmek istediğiniz test kullanıcısı grupları (bkz. Test kullanıcılarını yönetme). Gruplar, size gönderebileceğiniz grup takma adları kullanılarak belirlenir Firebase konsolunda arama yapabilirsiniz.

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

    groups: "qa-team, trusted-testers"

    Veya bir düz metin dosyasının yolunu belirtmek için grup adlarının virgülle ayrılmış listesi:

    groups_file: "/path/to/groups.txt"
    test_devices
    test_devices_file

    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ı (bkz. Otomatik testler) tıklayın.

    Test cihazlarını, noktalı virgülle ayrılmış bir test listesi cihazlar:

    test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    Veya bir düz metin dosyasının yolunu belirtmek için test cihazlarının noktalı virgülle ayrılmış listesi:

    test_devices_file: "/path/to/test-devices.txt"
    test_username

    Otomatik testler sırasında kullanılacak otomatik giriş kullanıcı adı.

    test_password
    test_password_file

    Otomatik testler sırasında kullanılacak otomatik giriş şifresi.

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

    test_password_file: "/path/to/test-password.txt"
    test_username_resource

    Otomatik testler sırasında kullanılacak otomatik girişe yönelik kullanıcı adı alanının kaynak adı.

    test_password_resource

    Otomatik testler sırasında kullanılacak otomatik giriş şifre alanının kaynak adı.

    test_non_blocking

    Otomatik testleri eşzamansız olarak çalıştırın. Otomatik test sonuçları için Firebase konsolunu ziyaret edin.

    debug

    Boole işareti. Bunu true olarak ayarlayabilirsiniz hata ayıklama çıktısını yazdırmanızı sağlar.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        release = firebase_app_distribution(
            app: "1:123456789:android:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!",
            android_artifact_type: "AAB"
        )
    end
end

Derlemeyi test kullanıcılarına sunmak için şeridinizi çalıştırın:

fastlane <lane>
.

İşlemin döndürülen değeri, yüklenen yayını temsil eden bir karmadır. Bu karma, lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] kullanılarak da kullanılabilir. Bu karmadaki kullanılabilir alanlar hakkında daha fazla bilgi için REST API belgeleri.

Fastlane 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 konsolu bağlantısı: yayınlanmıştır. Bu bağlantıyı diğer geliştiricilerle şurada paylaşabilirsiniz: org.
  • 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 izin verin.
  • Doğrudan indirilen ve Uygulama ikili programını (APK veya AAB dosyası) yükler. Bağlantının süresi şu tarihten sonra dolar: saat.

Derlemeniz dağıtıldıktan sonra Firebase konsolunun Uygulama Dağıtımı kontrol paneli 150 gün boyunca gösterilir. Derlemenin süresinin dolmasına 30 gün kaldığında Konsolda ve test kullanıcısının test cihazındaki derleme listesinde yer alır.

Daha önce uygulamayı test etmek üzere davet edilmemiş test kullanıcıları e-posta alır davet edebilirsiniz. Mevcut test kullanıcıları e-posta bildirimleri alır olduğunu anlayabilir. Test uygulamasını nasıl yükleyeceğinizi öğrenmek için Test cihazı kurulum kılavuzuna bakın. Web sitemiz g.co/newsinitiative/labs üzerinden kabul edip etmediğini belirlemek için her test kullanıcısının durumunu söz konusu davetiyeyi ve uygulamayı doğrudan Google Play'de Firebase konsolu.

(İsteğe bağlı) Oluşturma işleminde derleme numaranızı otomatik olarak artırmak için App Distribution'da yeni bir sürümü kullanıma sunmak için firebase_app_distribution_get_latest_release işlem ve örneğin increment_version_code fastlane eklentisi. Aşağıdaki kod, derleme numarası:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

firebase_app_distribution_get_latest_release işlemi hakkında daha fazla bilgi edinmek için Uygulamanızın son sürümü hakkında bilgi edinme konusuna bakın.

4. Adım (İsteğe bağlı). Dağıtım için test kullanıcılarını yönetme

Fastfile öğenizi kullanarak projenize veya grubunuza test kullanıcıları ekleyip kaldırabilirsiniz dosyası oluşturabilir veya doğrudan fastlane işlemlerini çalıştırabilir. İşlemleri doğrudan çalıştırma Fastfile içinde ayarlanan değerleri geçersiz kılar.

Firebase projenize eklenen test kullanıcılarını şuraya ekleyebilirsiniz: ayrı ayrı yayınlayabileceksiniz. Firebase projenizden kaldırılan test kullanıcıları artık projenizdeki sürümlere erişebilirler ancak erişimlerini koruyabilirler belirli bir süre boyunca yayınlayacağınız içeriklere göz atın.

Çok sayıda test kullanıcınız varsa grupları kullanmayı düşünebilirsiniz.

Fastfile hesabını kullanın

# Use lanes to add or remove testers from a project.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) add testers to this group
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
    group_alias: "qa-team" # (Optional) remove testers from this group only
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Fastlane işlemlerini çalıştır

fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"

Test kullanıcılarını şunun yerine --file="/path/to/testers.txt kullanarak da belirtebilirsiniz: --emails.

firebase_app_distribution_add_testers ve firebase_app_distribution_remove_testers görev şunları da kabul ediyor bağımsız değişkenler:

  • project_name: Firebase proje numaranız.
  • group_alias (isteğe bağlı): Belirtilirse test kullanıcıları gruba eklenir (veya gruptan kaldırılır) belirtilen grup.
  • service_credentials_file: Google hizmeti kimlik bilgileri dosyanızın yolu.
  • firebase_cli_token: Firebase CLI için kimlik doğrulama jetonu.

service_credentials_file ve firebase_cli_token aynı bağımsız değişkenlerin tümünü ifade eder.

5. Adım (İsteğe bağlı). Uygulamanızın en son sürümüyle ilgili bilgi edinme

firebase_app_distribution_get_latest_release işlemini kullanabilirsiniz uygulamanızın App Distribution'daki son sürümüyle ilgili bilgileri getirmek için uygulama sürümü bilgileri, sürüm notları ve oluşturma zamanı gibi. Kullanım alanları sürümü otomatik olarak yükseltmeyi ve bunları cihaza devretmeyi içerir. notlar (önceki sürümdeki notlar)

İşlemin döndürülen değeri, son sürümü temsil eden bir karmadır. Bu karma, lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] kullanılarak da kullanılabilir. Bu karmadaki kullanılabilir alanlar hakkında daha fazla bilgi için REST API belgeleri.

Parametreler

firebase_app_distribution_get_ araçları en son sürümü parametreleri
app

Zorunlu: Uygulamanızın Firebase Uygulama Kimliği. Siz Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfası.

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

Firebase CLI (okuma CLI'yı CI sistemleriyle kullanma bakın).

service_credentials_file

Google hizmet hesabı json dosyanızın yolu. Nasıl yapılacağını öğrenmek için yukarıdaki bilgilere bakın. hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları uygulayın.

debug

Boole işareti. Bunu true olarak ayarlayabilirsiniz hata ayıklama çıktısını yazdırmanızı sağlar.

Sonraki adımlar