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

Bu kılavuzda, iOS ve Android uygulamaları oluşturmayı ve yayınlamayı otomatikleştiren açık kaynaklı bir platform olan fastlane kullanılarak AAB yapılarının test kullanıcılarına nasıl dağıtılacağı açıklanmaktadır. Fastfile tanımlanan basit talimatları takip eder. Fastlane'i ve Fastfile kurduktan sonra Uygulama Dağıtımını 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ı için optimize edilmiş, optimize edilmiş APK'ları (Google Play tarafından sunulan) çalıştırın.

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

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

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

Gerekli izinler

AAB'leri Uygulama Dağıtımı'na 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şiminiz yoksa 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'sini 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 konsolundaki işlem Gerekli IAM izni Varsayılan olarak gerekli izinleri içeren IAM rolleri Gerekli ek roller
Firebase uygulamasını Google Play'deki bir uygulamaya bağlama firebase.playLinks.update Aşağıdaki rollerden biri: Google Play geliştirici hesabına Yönetici olarak erişim
AAB'leri Uygulama Dağıtımına Yükleme 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ına sahip olacaksınız.

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

  2. Google Play'e 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 kaydedilmiştir.

    • Google Play'deki uygulama , uygulama kontrol panelinde kurulur ve Google Play parçaları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ı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 şuraya gidin: Proje ayarları ve ardından Entegrasyonlar sekmesini seçin.

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

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

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

1. Adım. Fastlane'i kurun

  1. Fastlane'i kurun ve ayarlayın .

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

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

Fastlane eklentisini kullanmadan önce Firebase projenizde aşağıdaki yollardan biriyle kimlik doğrulaması yapmanız gerekir. Varsayılan olarak fastlane eklentisi, başka bir kimlik doğrulama yöntemi kullanılmazsa Firebase CLI'deki kimlik bilgilerini arar.

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

  1. ./fastlane/Fastfile şeridine 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 konsolunun Genel Ayarlar sayfasında bulabilirsiniz.

    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

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

    service_credentials_file

    Google hizmet hesabınızın json dosyasının yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulamanın nasıl yapılacağını öğ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ıldı). Yüklemek istediğiniz APK veya AAB dosyasının mutlak yolu. Belirtilmemişse fastlane, dosyanın konumunu dosyanın oluşturulduğu şeritten belirler.

    release_notes
    release_notes_file

    Bu yapıya ilişkin 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ış e-posta adresleri listesini içeren 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ı listesini 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.

    test_devices
    test_devices_file

    Aşağıdaki dağıtım türleri Otomatik test cihazı beta özelliğinin bir parçasıdır.

    Yapıları dağıtmak istediğiniz test cihazları (bkz. Otomatik testler ).

    Test cihazlarını, test cihazlarının noktalı virgülle ayrılmış listesi olarak belirtebilirsiniz:

    test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    Veya test cihazlarının noktalı virgülle ayrılmış listesini içeren düz metin dosyasının yolunu belirtebilirsiniz:

    test_devices_file: "/path/to/test-devices.txt"
    test_username

    Otomatik testler sırasında kullanılacak otomatik oturum açma kullanıcı adı.

    test_password
    test_password_file

    Otomatik testler sırasında kullanılacak otomatik oturum açma şifresi.

    Veya parola içeren 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 oturum açmaya yönelik kullanıcı adı alanının kaynak adı.

    test_password_resource

    Otomatik testler sırasında kullanılacak otomatik oturum açma parolası 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.

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 kullanıcılarının kullanımına sunmak için şeridinizi çalıştırın:

fastlane <lane>

Eylemin 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ın çıktısını verir. Bu bağlantılar ikili dosyaları yönetmenize ve test kullanıcılarının ve diğer geliştiricilerin doğru sürüme sahip olmasını sağlamanıza yardımcı olur:

  • Tek bir sürümü gösteren Firebase konsoluna bağlantı. 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ülemesine ve uygulamayı cihazlarına yüklemesine olanak tanıyan, test deneyimindeki (Android yerel uygulaması) sürümün bağlantısı. Bağlantıyı kullanabilmek için test kullanıcısının sürüme erişmesi gerekiyor.
  • Uygulama ikili dosyasını (APK veya AAB dosyası) doğrudan indirip yükleyen imzalı bir bağlantı. Bağlantının süresi bir saat sonra sona erer.

Derlemenizi dağıttıktan sonra, 150 gün boyunca Firebase konsolunun Uygulama Dağıtımı kontrol panelinde kullanılabilir. Derlemenin süresinin dolmasının üzerinden 30 gün geçtiğinde, konsolda ve test kullanıcısının test cihazındaki derlemeler listesinde bir sona erme 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ırlar. Mevcut test kullanıcıları, yeni bir yapının test edilmeye hazır olduğuna dair e-posta bildirimleri alır. Test uygulamasının nasıl yükleneceğini öğrenmek için test cihazı kurulum kılavuzuna bakın. Daveti kabul edip etmediklerini ve uygulamayı Firebase konsoluna indirip indirmediklerini belirlemek için her test kullanıcısının durumunu izleyebilirsiniz.

(İsteğe bağlı) Uygulama Dağıtımı'nda her yeni sürüm oluşturduğunuzda derleme 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, derleme numaranızı otomatik olarak nasıl artıracağınıza ilişkin 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 (İ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ı projenize veya grubunuza ekleyebilir veya kaldırabilirsiniz. Eylemleri çalıştırmak, Fastfile dosyanızda ayarlanan değerleri doğrudan geçersiz kılar.

Firebase projenize bir test kullanıcısı eklendiğinde bunları ayrı 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üre daha sürümlerinize erişimlerini 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

Fastlane eylemlerini çalıştırın

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

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

  • project_name : Firebase proje numaranız.
  • group_alias (isteğe bağlı): Belirtilmişse, 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 argümanların aynısıdır.

Adım 5 (İsteğe bağlı). Uygulamanızın en 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 Uygulama Dağıtımındaki en son sürümü hakkında bilgi almak için firebase_app_distribution_get_latest_release eylemini kullanabilirsiniz. Kullanım örnekleri arasında sürümün otomatik olarak artırılması ve önceki sürümdeki sürüm notlarının taşınması yer alır.

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 konsolunun Genel Ayarlar sayfasında bulabilirsiniz.

app: "1:1234567890:android:0a1b2c3d4e5f67890"
firebase_cli_token

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

service_credentials_file

Google hizmet hesabınızın json dosyasının yolu. Hizmet hesabı kimlik bilgilerini kullanarak kimlik doğrulamanın nasıl yapılacağını öğ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