앱 배포 Gradle 플러그인을 사용하여 Android 빌드 프로세스에 앱 배포를 통합할 수 있습니다. 플러그인을 사용하면 앱의 build.gradle
파일에 테스터와 출시 노트를 지정하여 앱의 다양한 빌드 유형과 변형에 대한 배포를 구성할 수 있습니다.
시작하기 전에
아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다.
다른 Firebase 제품을 사용하지 않는 경우 프로젝트를 만들고 앱을 등록하기만 하면 됩니다. 그러나 이후에 추가 제품을 사용할 경우 위에 링크된 페이지의 모든 단계를 완료해야 합니다.
1단계. Android 프로젝트 설정
프로젝트 수준 Gradle 파일(일반적으로
android/build.gradle
)에서 앱 배포 플러그인을 buildscript 종속 항목으로 추가합니다.buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:2.0.1' } }
앱 수준 Gradle 파일(일반적으로
android/app/build.gradle
)에서 Android 플러그인 아래에 앱 배포 플러그인을 포함합니다.apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
회사에서 프록시 또는 방화벽을 사용할 경우 앱 배포에서 Firebase에 배포 항목을 업로드할 수 있도록 다음 자바 시스템 속성을 추가합니다.
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
2단계. Firebase 인증
Fastlane 플러그인을 사용하려면 먼저 Firebase 프로젝트로 인증해야 합니다. 다음 3가지 방법으로 인증할 수 있습니다.
3단계: 배포 속성 구성
app/build.gradle
파일에서firebaseAppDistribution
섹션을 하나 이상 추가하여 앱 배포를 구성합니다. 빌드 유형과 제품 변형 모두에 대해 앱 배포를 구성할 수 있습니다. 예를 들어release
빌드를 테스터에게 배포하려면 다음과 같이 합니다.android { // ... buildTypes { release { firebaseAppDistribution { releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
debug
및release
빌드를 'demo' 및 'full' 제품 버전으로 배포하려면 다음과 같이 합니다.android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
다음 매개변수를 사용하여 배포를 구성합니다.
앱 배포 빌드 매개변수 | |
---|---|
appId
|
앱의 Firebase 앱 ID입니다. Google 서비스 Gradle 플러그인이 설치되어 있지 않은 경우에만 필요합니다. appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
서비스 계정 비공개 키 JSON 파일의 경로입니다. 서비스 계정 인증을 사용할 경우에만 필요합니다. |
apkPath
|
업로드할 APK 파일의 절대 또는 상대 경로입니다. 지정하지 않으면 Gradle은 APK 출력 디렉터리를 사용하여 파일 위치를 확인합니다. |
releaseNotes 또는 releaseNotesFile |
이 빌드의 출시 노트입니다. 출시 노트를 직접 지정하거나 일반 텍스트 파일의 경로를 지정할 수 있습니다. |
testers 또는 testersFile |
빌드를 배포할 테스터의 이메일 주소입니다. 쉼표로 구분된 이메일 주소 목록으로 테스터를 지정할 수 있습니다. testers="ali@example.com, bri@example.com, cal@example.com" 또는 쉼표로 구분된 이메일 주소 목록이 포함된 파일의 경로를 지정할 수 있습니다. testersFile="/path/to/testers.txt" |
groups 또는 groupsFile |
빌드를 배포할 테스터 그룹입니다. 테스터 관리를 참조하세요.
Firebase 앱 배포 콘솔의 테스터 탭에서 찾을 수 있는 쉼표로 구분된 그룹 별칭 목록으로 그룹을 지정할 수 있습니다. groups="qa-team, android-testers" 또는 쉼표로 구분된 그룹 별칭 목록이 포함된 파일의 경로를 지정할 수 있습니다. groupsFile="/path/to/tester-groups.txt" |
stacktrace
|
사용자 예외의 스택 추적을 출력합니다. 이렇게 하면 문제를 디버깅할 때 유용합니다. |
4단계. 테스터에 앱 배포
마지막으로 테스트 앱을 패키징하고 테스터를 초대하려면 assembleBUILD-VARIANT
및 appDistributionUploadBUILD-VARIANT
대상을 프로젝트의 Gradle 래퍼를 사용하여 빌드합니다. 여기서 BUILD-VARIANT는 이전 단계에서 구성한 선택적 제품 버전과 빌드 유형입니다. 제품 버전에 대한 자세한 내용은 빌드 변형 구성을 참조하세요.
예를 들어 release
빌드 변형을 사용하여 앱을 배포하려면 다음 명령어를 실행합니다.
./gradlew assembleRelease appDistributionUploadRelease
또는 Google 계정을 사용하여 인증했거나 Gradle 빌드 파일에 사용자 인증 정보를 제공하지 않은 경우에는 FIREBASE_TOKEN
변수를 포함합니다.
export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
빌드를 배포한 후에는 Firebase Console의 앱 배포 대시보드에서 150일(5개월) 동안 사용할 수 있습니다. 빌드가 만료되기 30일 전부터 Console 및 테스트 기기의 빌드 테스트 목록 모두에 만료 알림이 표시됩니다.
신규 테스터는 앱 테스트를 시작할 수 있는 이메일 초대를 받으며 기존 테스터는 새 빌드가 테스트될 준비가 완료되었다는 이메일 알림을 받습니다(테스트 앱 설치 방법에 대한 안내는 테스터 설정 가이드 참조). Firebase Console에서 각 테스터 상태(초대 수락 여부, 앱 다운로드 여부 등)를 모니터링할 수 있습니다.