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 bir açık kaynak platformu olan fastlane kullanarak AAB yapılarının test kullanıcılarına nasıl dağıtılacağını açıklar. Bir Fastfile tanımlanan basit talimatları izler. Fastlane'i ve Fastfile ayarladıktan sonra, App Distribution'ı fastlane yapılandırmanızla entegre edebilirsiniz.

Uygulama Dağıtımı, 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 sunulan) çalıştırın.

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

  • Play Özellik Teslimi ve Play Varlık Teslimi 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, Firebase konsolu IAM ayarları yoluyla bir Firebase proje Sahibinden size uygun rolü atamasını isteyebilirsiniz. Sahip bulma veya atama da dahil olmak üzere Firebase projenize erişimle ilgili sorularınız varsa "Firebase projelerine izinler ve erişim" SSS bölümünü inceleyin.

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

Firebase konsolunda işlem 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 App Distribution'a yükleyin firebaseappdistro.releases.update Aşağıdaki rollerden biri: ––

Sen başlamadan önce

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

    Başka bir Firebase ürünü kullanmıyorsanız, yalnızca bir proje oluşturmanız ve uygulamanızı kaydetmeniz gerekir. 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 kontrol panelinde kurulur ve Google Play kanallarından birine (Dahili test, Kapalı test, Açık test veya Üretim) dağıtılır.

    • 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ınlanmıştır: Dahili test (Taslak dahili testi 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.
      Halihazırda 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 hangi Firebase Android Uygulamalarının Google Play'e bağlanacağını seçin.

    Google Play'e bağlanma hakkında daha fazla bilgi edinin.

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

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 edicileri projenize veya grubunuza 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.

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

Fastfile kullan

# 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

Hızlı şerit eylemlerini ç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ı --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.
  • group_alias (isteğe bağlı): Belirtilirse, test kullanıcıları belirtilen gruba eklenir (veya gruptan çıkarılır).
  • 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