了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Fastlane kullanarak Android uygulamalarını test kullanıcılarına dağıtın

Bu belge, iOS ve Android uygulamalarının oluşturulmasını ve yayınlanmasını otomatikleştiren bir açık kaynak platformu olan fastlane kullanılarak APK yapılarının test kullanıcılarına nasıl dağıtılacağını açıklar. Bu belge, bir Fastfile tanımlanan talimatları izler. Fastlane'i ve Fastfile ayarladıktan sonra, App Distribution'ı fastlane yapılandırmanızla entegre edebilirsiniz.

Sen başlamadan önce

Henüz yapmadıysanız, Firebase'i Android projenize ekleyin .

Başka bir Firebase ürünü kullanmıyorsanız, yalnızca bir proje oluşturmanız ve uygulamanızı kaydetmeniz gerekir. Ancak gelecekte ek ürünler kullanmaya karar verirseniz, yukarıda bağlantısı verilen sayfadaki tüm adımları tamamladığınızdan emin olun.

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 Android 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

    Gerekli : Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfasında bulabilirsiniz.

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    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.

    android_artifact_type

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

    android_artifact_path

    apk_path yerine geçer (kullanımdan kaldırılmıştır). Yüklemek istediğiniz APK veya AAB dosyasına giden mutlak yol. 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.

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

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 (Android yerel uygulaması) 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ı (APK veya AAB 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ın nasıl kurulacağını öğrenmek için test kullanıcısı kurulum kılavuzuna bakı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 örneğin, increment_version_code fastlane eklentisini 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_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 en son sürümü hakkında bilgi alma konusuna 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

Gerekli : Uygulamanızın Firebase Uygulama Kimliği. Uygulama kimliğini Firebase konsolunda, Genel Ayarlar sayfasında bulabilirsiniz.

app: "1:1234567890:android:0a1b2c3d4e5f67890"
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