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
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.
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.
Firebase Android Uygulamanızı Google Play geliştirici hesabınıza bağlayın:
Firebase konsolunda şuraya gidin:
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.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
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.
Bir hizmet hesabıyla kimlik doğrulama, eklentiyi sürekli entegrasyon (CI) sisteminizle esnek bir şekilde kullanmanıza olanak tanır. Hizmet hesabı kimlik bilgilerini sağlamanın iki yolu vardır:
- Hizmet hesabı anahtar dosyanızı
firebase_app_distribution
eylemine iletin. Hizmet hesabı anahtar dosyanız derleme ortamınızda zaten varsa bu yöntemi kullanışlı bulabilirsiniz. -
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini hizmet hesabı anahtar dosyanızı işaret edecek şekilde ayarlayın. Başka bir Google hizmeti (ör. Google Cloud) için yapılandırılmış Uygulama Varsayılan Kimlik Bilgileriniz (ADC) zaten varsa bu yöntemi tercih edebilirsiniz.
- Google Cloud Console'da projenizi seçin ve yeni bir hizmet hesabı oluşturun.
- Firebase Uygulama Dağıtım Yöneticisi rolünü ekleyin.
- Özel bir json anahtarı oluşturun ve anahtarı, derleme ortamınızın erişebileceği bir konuma taşıyın. Firebase projenizdeki Uygulama Dağıtımına yönetici erişimi sağladığından bu dosyayı güvenli bir yerde sakladığınızdan emin olun .
- Uygulamanızı 20 Eylül 2019'dan sonra oluşturduysanız bu adımı atlayın: Google API konsolunda Firebase App Distribution API'yi etkinleştirin. İstendiğinde Firebase projenizle aynı adı taşıyan projeyi seçin.
Hizmet hesabı kimlik bilgilerinizi sağlayın veya bulun:
- Hizmet hesabı anahtarınızı şeridinizin
firebase_app_distribution
eylemine aktarmak içinservice_credentials_file
parametresini özel anahtar JSON dosyanızın yoluyla ayarlayın. ADC ile kimlik bilgilerinizi bulmak için
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini özel anahtar JSON dosyasının yoluna ayarlayın. Örneğin:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
ADC ile kimlik doğrulama hakkında daha fazla bilgi için Uygulamanıza kimlik bilgileri sağlama konusunu okuyun.
- Hizmet hesabı anahtarınızı şeridinizin
Projenizin kimliğini nasıl doğrulayacağınıza ilişkin talimatlar için Firebase CLI ile oturum açma konusuna bakın.
3. Adım. Fastfile'ınızı kurun ve uygulamanızı dağıtın
-
./fastlane/Fastfile
şeridine birfirebase_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
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 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.
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 |
Sonraki adımlar
Test kullanıcılarının uygulamanız hakkında (ekran görüntüleri dahil) geri bildirim göndermesini kolaylaştırmak için uygulama içi geri bildirim uygulayın.
Uygulamanızın yeni sürümleri yüklenmeye hazır olduğunda test kullanıcılarınıza uygulama içi uyarıları nasıl görüntüleyeceğinizi öğrenin.
Android uygulamalarını CI/CD kullanarak QA test kullanıcılarına dağıtmaya yönelik en iyi uygulamaları öğrenin.