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


Bu dokümanda, APK derlemelerinin Fastlane, iOS ve Android'in geliştirilmesini ve yayınlanmasını otomatikleştiren açık kaynak bir platform Bu dokümanda Fastfile içinde tanımlanan talimatlar geçerlidir. Bu ayarları yaptıktan sonra ve Fastfile cihazınızı kullanarak App Distribution entegre edebilirsiniz. hızlı yol konfigürasyonu.

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. Fastlane kurulumu

  1. Fastlane'i yükleme ve kurma

  2. Fastlane yapılandırmanıza App Distribution eklemek için aşağıdaki 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 işlemi yoksa Firebase KSA'nın 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 KSA (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 belirtilir Firebase konsolunda ara.

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

    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(...)
        # 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!"
        )
    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 konsolunun bağlantısını gösteren ve 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 App Distribution gösterge tablosunu 150 gün boyunca takip edin. 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 yetkilendirme 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 KSA (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