欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

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

Bu kılavuz, iOS ve Android uygulamaları oluşturmayı ve yayınlamayı otomatikleştiren açık kaynaklı bir platform olan fastlane kullanarak AAB yapılarının test kullanıcılarına nasıl dağıtılacağını açıklar. Bir Fastfile içinde tanımlanan basit talimatları takip eder. fastlane ve Fastfile sonra, App Distribution'ı fastlane yapılandırmanızla entegre edebilirsiniz.

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 için Google Play'in dahili uygulama paylaşım hizmetiyle entegre olur. AAB'leri dağıtmak aşağıdakileri yapmanızı sağlar:

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

  • Cihaza özgü sorunları ortaya çıkarın ve hatalarını ayıklayın.

  • Play Özellik Teslimatı ve Play Varlık Teslimatı gibi uygulama paketi özelliklerini test edin.

  • Test kullanıcılarınız için indirme boyutunu azaltın.

Gerekli izinler

AAB'leri App Distribution'a yüklemek için Firebase uygulamanızı Google Play'deki bir uygulamaya bağlamanız gerekir. Bu eylemleri gerçekleştirmek için gerekli erişim düzeyine sahip olmanız gerekir.

Gerekli Firebase erişimine sahip değilseniz, bir Firebase proje Sahibinden Firebase konsolu IAM ayarları aracılığıyla size uygun rolü atamasını isteyebilirsiniz. Bir Sahip bulma veya atama da dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa, "İzinler ve Firebase projelerine erişim" SSS'lerini inceleyin .

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

Firebase konsolunda eylem Gerekli IAM izni Varsayılan olarak gerekli izinleri içeren IAM rolleri Ek gerekli rol(ler)
Bir Firebase uygulamasını Google Play'deki bir uygulamaya bağlama firebase.playLinks.update Aşağıdaki rollerden biri: Yönetici olarak bir Google Play geliştirici hesabına erişim
AAB'leri Uygulama Dağıtımına Yükleyin firebaseappdistro.releases.update Aşağıdaki rollerden biri: ––

Sen başlamadan önce

  1. Henüz yapmadıysanız, Android projenize Firebase'i ekleyin . Bu iş akışının sonunda, Firebase projenizde bir Firebase Android Uygulaması olacak.

    Başka bir Firebase ürünü kullanmıyorsanız, bir proje oluşturmanız ve uygulamanızı kaydetmeniz yeterlidir. Ek ürünler kullanmaya karar verirseniz, Firebase'i Android projenize ekleyin bölümündeki tüm adımları tamamladığınızdan emin olun.

  2. Google Play'e bir Firebase bağlantısı oluşturmak ve AAB'leri yüklemek için uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:

    • Google Play'deki uygulama ve Firebase Android uygulaması, aynı paket adı kullanılarak kaydedilir.

    • Google Play'deki uygulama, uygulama panosunda kurulur ve Google Play kanallarından birine dağıtılır (Dahili test, Kapalı test, Açık test veya Üretim).

    • Uygulamanın Google Play'deki incelemesi tamamlandı ve uygulama yayınlandı. Uygulama durumu sütununda şu durumlardan biri görüntüleniyorsa uygulamanız yayınlanır: 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, gidin Proje ayarları , ardından Entegrasyonlar sekmesini seçin.

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

    3. Uygulama Dağıtımı entegrasyonunu etkinleştirmek için ekrandaki talimatları izleyin ve Google Play'e hangi Firebase Android Uygulamalarının bağlanacağını seçin.

    Google Play'e bağlantı oluşturma hakkında daha fazla bilgi edinin.

Adım 1. Fastlane'i kurun

  1. Fastlane'i kurun ve kurun .

  2. Hızlı şerit yapılandırmanıza Uygulama Dağıtımı eklemek için Android projenizin kökünden aşağıdaki komutu çalıştırın:

    fastlane add_plugin firebase_app_distribution

    Komut sizden bir seçenek isterse, Option 3: RubyGems.org seçin.

2. Adım. Firebase ile kimlik doğrulaması yapın

Fastlane eklentisini kullanmadan önce, Firebase projenizde aşağıdaki yollardan biriyle kimlik doğrulaması yapmalısınız. Varsayılan olarak fastlane eklentisi, başka bir kimlik doğrulama yöntemi kullanılmıyorsa 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

    Eklentinin oturum açma işlemini çalıştırdığınızda (yukarıdaki Bir Google hesabı kullanarak kimlik doğrulama konusuna bakın) veya CI ortamınızın kimliğini Firebase CLI ile doğruladığınızda (daha fazla bilgi için CI sistemleriyle CLI'yi kullanma konusunu okuyun) yazdırılan bir yenileme belirteci.

    service_credentials_file

    Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulama 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 değiştirir (kullanımdan kaldırıldı). Yüklemek istediğiniz APK veya AAB dosyasının mutlak yolu. Belirtilmezse, hızlı şerit, dosyanın oluşturulduğu şeritten dosyanın konumunu 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ış e-posta adresleri listesi olarak belirtebilirsiniz:

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

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

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

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

    groups: "qa-team, trusted-testers"

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

    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(task: "bundle", ...)
        # build_android_app is a built-in fastlane action.
        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

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

fastlane <lane>

Derlemenizi dağıttıktan sonra, 150 gün boyunca Firebase konsolunun Uygulama Dağıtımı panosunda bulunur. Derlemenin süresinin dolmasına 30 gün kala konsolda ve test cihazının test cihazındaki derlemeler listesinde bir sona erme bildirimi görünür.

Uygulamayı test etmek için daha önce 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 cihazı kurulum kılavuzuna bakın. Daveti kabul edip etmediklerini ve uygulamayı Firebase konsolunda 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 eylemi 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 (Opsiyonel). Dağıtım için test kullanıcılarını yönetme

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

Firebase projenize bir test kullanıcısı eklendiğinde, bunları ayrı sürümlere ekleyebilirsiniz. Firebase projenizden kaldırılan test kullanıcılarının artık projenizdeki sürümlere erişimi yoktur, ancak bir süreliğine sürümlerinize erişimlerini 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
tutucu14 l10n-yer
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

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

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 --emails 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 yetkilendirme belirteci.

service_credentials_file ve firebase_cli_token , yükleme eylemi tarafından kullanılan argümanlarla aynıdır.

Adım 5 (Opsiyonel). Uygulamanızın en son sürümü hakkında bilgi alın

firebase_app_distribution_get_latest_release eylemini, 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 kullanabilirsiniz. Kullanım durumları, sürümü otomatik olarak artırmayı ve önceki sürümden sürüm notlarını taşımayı 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

Eklentinin oturum açma işlemini çalıştırdığınızda (yukarıdaki Bir Google hesabı kullanarak kimlik doğrulama konusuna bakın) veya CI ortamınızın kimliğini Firebase CLI ile doğruladığınızda (daha fazla bilgi için CI sistemleriyle CLI'yi kullanma konusunu okuyun) yazdırılan bir yenileme belirteci.

service_credentials_file

Google hizmet hesabı json dosyanızın yolu. Hizmet hesabı kimlik bilgilerini kullanarak nasıl kimlik doğrulama 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.