Catch up on highlights from Firebase at Google I/O 2023. Learn more

iOS uygulamalarını fastlane kullanarak test kullanıcılarına dağıtın

iOS ve Android uygulamalarının oluşturulmasını ve yayınlanmasını otomatikleştiren açık kaynaklı bir platform olan fastlane'i kullanarak yapıları test kullanıcılarına dağıtabilirsiniz. Bir Fastfile tanımlanan basit talimatları izler. Fastlane'i ve Fastfile ayarladıktan sonra, App Distribution'ı fastlane yapılandırmanızla entegre edebilirsiniz.

1. Adım. Fastlane'i kurun

  1. Fastlane'i kurun ve kurun .

  2. Fastlane yapılandırmanıza Uygulama Dağıtımı eklemek için iOS projenizin kök dizininden aşağıdaki komutu çalıştırın:

    fastlane add_plugin firebase_app_distribution

    Komut size bir seçenek sorarsa Option 3: RubyGems.org .

2. Adım. Firebase ile Kimlik Doğrulayın

Fastlane eklentisini kullanabilmeniz için öncelikle Firebase projenizde aşağıdaki yollardan biriyle kimlik doğrulaması yapmanız gerekir. Varsayılan olarak, başka bir kimlik doğrulama yöntemi kullanılmıyorsa, fastlane eklentisi Firebase CLI'den kimlik bilgilerini arar.

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

  1. Bir ./fastlane/Fastfile şeridinde bir firebase_app_distribution bloğu ekleyin. Dağıtımı yapılandırmak için aşağıdaki parametreleri kullanın:
    firebase_app_distribution parametreleri
    app

    Yalnızca uygulamanız bir Firebase yapılandırma dosyası ( GoogleService-Info.plist ) içermiyorsa gereklidir : Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfasında bulabilirsiniz.

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    Arşivlenmiş ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist ayarlayın.

    app parametresi belirtilmemişse dosya, uygulamanızın Firebase Uygulama Kimliğini almak için kullanılır.

    firebase_cli_token

    Firebase CLI ile CI ortamınızın kimliğini doğruladığınızda yazdırılan bir yenileme belirteci (daha fazla bilgi için CLI'yi CI sistemleriyle kullanma bölümünü okuyun).

    service_credentials_file

    Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulaması yapacağınızı öğrenmek için yukarıya bakın.

    ipa_path

    apk_path yerine geçer (kullanımdan kaldırılmıştır). Yüklemek istediğiniz IPA dosyasının mutlak yolu. Belirtilmezse, fastlane dosyanın konumunu dosyanın oluşturulduğu şeritten belirler.

    release_notes
    release_notes_file

    Bu yapı için sürüm notları.

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

    release_notes: "Text of release notes"

    Veya düz metin dosyasının yolunu belirtin:

    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ış bir e-posta adresi listesi olarak belirtebilirsiniz:

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

    Veya virgülle ayrılmış e-posta adresleri listesi içeren bir düz metin dosyasının yolunu belirleyebilirsiniz:

    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önet ). Gruplar kullanılarak belirtilir grup takma adları , Firebase konsolunda arayabilirsiniz.

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

    groups: "qa-team, trusted-testers"

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

    groups_file: "/path/to/groups.txt"
    debug

    Bir boole bayrağı. Ayrıntılı hata ayıklama çıktısını yazdırmak için bunu true olarak ayarlayabilirsiniz.

Örneğin:

platform :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        release = firebase_app_distribution(
            app: "1:123456789:ios:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!"
        )

    end
end

Yapıyı test edenlerin kullanımına sunmak için kulvarınızı çalıştırın:

fastlane <lane>

İşlemin dönüş değeri, yüklenen sürümü 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 belgelerine bakın.

Fastlane eklentisi, sürüm yüklemesinden sonra aşağıdaki bağlantıları verir. Bu bağlantılar, ikili dosyaları yönetmenize ve test edicilerin ve diğer geliştiricilerin doğru sürüme sahip olmalarını sağlamanıza yardımcı olur:

  • Tek bir sürümü görüntüleyen Firebase konsolu bağlantısı. Bu bağlantıyı kuruluşunuzdaki diğer geliştiricilerle paylaşabilirsiniz.
  • Test kullanıcılarının sürüm notlarını görüntülemelerine ve uygulamayı cihazlarına yüklemelerine olanak tanıyan, test kullanıcısı deneyimindeki (iOS web klibi) yayın bağlantısı. Test kullanıcısının bağlantıyı kullanabilmesi için sürüme erişmesi gerekir.
  • Uygulama ikili dosyasını (IPA dosyası) doğrudan indiren ve yükleyen imzalı bir bağlantı. Bağlantı bir saat sonra sona erer.

Yapınızı dağıttıktan sonra, yapınız Firebase konsolunun Uygulama Dağıtım panosunda 150 gün boyunca kullanılabilir. Derlemenin süresinin dolmasına 30 gün kala konsolda ve test cihazının test cihazındaki derlemeler listesinde bir süre sonu bildirimi görünür.

Daha önce uygulamayı test etmeye davet edilmemiş olan test kullanıcıları, başlamak için e-posta davetiyeleri alır. Mevcut test kullanıcıları, yeni bir derlemenin test edilmeye hazır olduğuna dair e-posta bildirimleri alır. Test uygulamasını nasıl yükleyeceğinizi öğrenmek için bkz . Test kullanıcısı olarak kurulum yapın . Daveti kabul edip etmediklerini ve uygulamayı Firebase konsolundan indirip indirmediklerini belirlemek için her test kullanıcısının durumunu izleyebilirsiniz.

(İsteğe bağlı) App Distribution'da her yeni sürüm oluşturduğunuzda yapı numaranızı otomatik olarak artırmak için firebase_app_distribution_get_latest_release eylemini ve increment_build_number eylemini kullanabilirsiniz. Aşağıdaki kod, yapı numaranızı otomatik olarak nasıl artıracağınıza dair bir örnek sağlar:

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

Bu fastlane eklenti özelliği hakkında daha fazla bilgi edinmek için Uygulamanızın en son sürümü hakkında bilgi alma bölümüne bakın.

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

Fastfile dosyanızı kullanarak veya doğrudan fastlane eylemlerini çalıştırarak test kullanıcılarını uygulama sürümünüze ekleyebilir ve kaldırabilirsiniz. Yürütülen eylemler, Fastfile dosyanızda ayarlanan değerleri doğrudan geçersiz kılar.

Firebase projenize bir test kullanıcısı eklendikten sonra, bunları ayrı sürümlere ekleyebilirsiniz. Firebase projenizden çıkarılan test kullanıcıları artık projenizdeki sürümlere erişemez, ancak sürümlerinize erişimlerini bir süreliğine koruyabilirler.

Fastfile kullan

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Hızlı şerit eylemlerini çalıştır

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

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

firebase_app_distribution_add_testers ve firebase_app_distribution_remove_testers görevleri de aşağıdaki bağımsız değişkenleri kabul eder:

  • project_name : Firebase proje numaranız.
  • service_credentials_file : Google hizmeti kimlik bilgileri dosyanızın yolu.
  • firebase_cli_token : Firebase CLI için kimlik doğrulama belirteci.

service_credentials_file ve firebase_cli_token yükleme eylemi tarafından kullanılan bağımsız değişkenlerin aynısıdır.

Adım 5 (İsteğe bağlı). Uygulamanızın son sürümü hakkında bilgi alın

Uygulama sürüm bilgileri, sürüm notları ve oluşturma zamanı dahil olmak üzere uygulamanızın App Distribution'daki en son sürümü hakkında bilgi almak için firebase_app_distribution_get_latest_release eylemini kullanabilirsiniz. Kullanım örnekleri, sürümün otomatik olarak yükseltilmesini ve önceki sürümden sürüm notlarının taşınmasını içerir.

Eylemin dönüş değeri, en 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 belgelerine bakın.

parametreler

firebase_app_distribution_get_latest_release parametreleri
app

Yalnızca uygulamanız bir Firebase yapılandırma dosyası ( GoogleService-Info.plist ) içermiyorsa gereklidir : Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfasında bulabilirsiniz.

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

Arşivlenmiş ürün yoluna göre GoogleService-Info.plist dosyanızın yolu. Varsayılan olarak GoogleService-Info.plist ayarlayın.

app parametresi belirtilmemişse dosya, uygulamanızın Firebase Uygulama Kimliğini almak için kullanılır.

firebase_cli_token

Firebase CLI ile CI ortamınızın kimliğini doğruladığınızda yazdırılan bir yenileme belirteci (daha fazla bilgi için CLI'yi CI sistemleriyle kullanma bölümünü okuyun).

service_credentials_file

Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulaması yapacağınızı öğrenmek için yukarıya bakın.

debug

Bir boole bayrağı. Ayrıntılı hata ayıklama çıktısını yazdırmak için bunu true olarak ayarlayabilirsiniz.

Sonraki adımlar