테스터에게 App Bundle 버전 배포 - Codelab

1. 개요

image10.png

이 Codelab에서는 Firebase 앱 배포 및 Gradle 플러그인을 사용하여 테스터에게 Android App Bundle 출시를 배포하는 방법을 알아봅니다. 앱 배포는 앱의 출시 전 버전과 각 버전에 초대한 테스터를 관리할 수 있는 중앙 허브를 제공합니다.

학습할 내용

  • Firebase 앱을 Google Play에 연결하는 방법
  • 앱을 App Bundle로 패키징하고 빌드하는 방법
  • 출시 버전을 만들어 실시간 테스터와 공유하는 방법
  • 테스터로 새 출시 버전을 다운로드하고 테스트하는 방법

필요한 사항

  • 최신 Android 스튜디오 버전
  • Android 스튜디오에서 생성한 서명된 번들 파일
  • 소유자 또는 관리자인 Google Play 개발자 계정
  • Google Play의 앱이 Google Play 앱 대시보드에서 설정되었으며 다음과 같은 상태입니다.
    • 앱이 Google Play 트랙 (내부 테스트, 비공개 테스트, 공개 테스트 또는 프로덕션) 중 하나에 배포됩니다.
    • Google Play에서 앱 검토가 완료되고 앱이 게시되어 있습니다. 앱 상태 열에 내부 테스트 (초안 내부 테스트 아님), 비공개 테스트, 공개 테스트 또는 프로덕션 상태 중 하나가 표시되면 앱이 게시됩니다.
  • Firebase에서 새 빌드 초대를 수신하는 데 테스터로 사용할 수 있는 이메일 주소

2. Firebase 프로젝트 만들기

  1. Firebase에 로그인합니다.
  2. Firebase Console에서 프로젝트 추가를 클릭한 후 프로젝트 이름을 'AppBundlesCodelab'으로 지정합니다. Firebase 프로젝트의 프로젝트 ID를 기억해 둡니다. 프로젝트 ID를 수정하지 않으면 Firebase에서 프로젝트에 고유 ID를 자동으로 할당합니다.

    image8.png
  3. (선택사항) 메시지가 표시되면 Google 애널리틱스를 사용 설정합니다.
  4. 나머지 단계를 완료한 후 프로젝트 만들기를 클릭합니다.

프로젝트에 App Bundle 추가

  1. Firebase Console에서 앱 추가를 클릭합니다.

    image5.png
  2. 앱을 등록할 때 Google Play 개발자 계정에 업로드된 앱과 동일한 패키지 이름을 사용해야 합니다. 마지막으로 앱 등록을 클릭합니다.
  3. 나머지 단계를 완료하여 앱의 Firebase 구성 파일 (google-services.json)을 앱에 추가합니다. Android의 경우 앱 배포에 앱에 추가할 Firebase SDK가 없습니다.
  4. Console로 이동을 클릭합니다.
  1. Firebase Console에서 프로젝트 설정으로 이동합니다.

    image2.png
  2. 통합 탭의 Google Play 카드에서 연결을 클릭합니다.
  3. 화면에 표시된 안내에 따라 앱 배포 통합을 사용 설정한 후 새로 만든 Firebase 앱을 선택하여 Google Play에 연결합니다.

이제 이 단계를 완료했으므로 Firebase 앱이 Google Play 개발자 계정의 앱에 연결됩니다. 패키지 이름이 일치해야 합니다.

3. 프로젝트에 앱 배포 추가

앱 배포 Gradle 플러그인 추가

이제 Android 스튜디오를 사용하여 앱에 앱 배포와 Gradle 플러그인을 추가합니다.

  1. 프로젝트 수준 Gradle 파일(android/build.gradle.kts)에서 앱 배포 Gradle 플러그인을 plugins 블록에 추가합니다.
    plugins {
         //...
    
         // Add the App Distribution Gradle plugin
         id("com.google.firebase.appdistribution") version "4.0.0" apply false
    }
    
  2. 프로젝트 수준 설정 Gradle 파일 (android/settings.gradle.kts)에서 Google의 Maven 저장소를 pluginManagement 블록에 추가합니다.
     pluginManagement {
         // Check that you have Google's Maven repository (if not, add it).
         repositories {
             google()
             mavenCentral()
         }
     }
    
  3. 앱 수준 Gradle 파일 (android/app/build.gradle.kts)에서 앱 배포 플러그인을 plugins 블록에 추가합니다.
    plugins {
         //...
    
         // Add the App Distribution plugin
         id("com.google.firebase.appdistribution")
    }
    
  4. 회사에서 프록시 또는 방화벽을 사용할 경우 앱 배포에서 Firebase에 배포 항목을 업로드할 수 있도록 다음 Java 시스템 속성을 추가합니다.
    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

Firebase 프로젝트 인증

Gradle 플러그인을 사용하려면 먼저 Firebase 프로젝트를 인증해야 합니다. 이 Codelab에서는 Firebase CLI를 사용하여 Google 계정에 로그인합니다.

Android 프로젝트의 루트에서 다음 명령어를 실행합니다.

~/your-android-project$ firebase login

자세한 내용은 참조 문서를 참고하세요.

4. Android 스튜디오에서 번들 속성 구성

이 단계에서는 나중에 배포할 빌드의 테스터로 자신을 추가합니다. 빌드를 배포하면 테스터에게 Firebase에서 새 빌드를 테스트하라는 이메일 알림이 전송됩니다.

app/build.gradle.kts에서 firebaseAppDistribution 섹션을 추가하고 다음 매개변수를 포함합니다.

  • appID: 앱의 Firebase 앱 ID입니다. 프로젝트 설정일반에서 찾을 수 있습니다.
  • artifactType: 앱의 파일 형식(AAB)입니다.
  • testers: 내 테스터 이메일 주소여야 합니다. 이 Codelab에서는 빌드가 배포된 후 테스트할 수 있도록 자체 이메일을 추가합니다.

예를 들면 다음과 같습니다.

    android {

       // ...

       buildTypes {
            getByName("release") {
                firebaseAppDistribution {
                  appId = "yourAppId"
                  artifactType = "AAB"
                  testers = "ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }

        // ...
    }

또는 -PappDistribution-property-name=property-value 형식으로 명령줄 인수를 전달하여 build.gradle.kts에 설정된 값을 재정의할 수도 있습니다.

5. 버전 빌드 및 배포

  1. bundleVariant Gradle 작업을 실행하여 앱 번들 파일을 빌드합니다.
    $ ./gradlew :base:bundleRelease
    
  2. 애플리케이션의 빌드 디렉터리(기본 위치는 app/build/outputs/bundle/release)에서 번들을 찾습니다.
  3. 버전을 배포하려면 프로젝트의 Gradle 래퍼로 타겟 bundleReleaseappDistributionUploadRelease를 빌드합니다. Firebase 토큰 (3단계: 앱에 앱 배포 추가에서 받은 토큰)을 포함합니다.
    export FIREBASE_TOKEN=your_firebase_token
    
    ./gradlew --stop // Only needed for environment variable changes
    
    ./gradlew bundleRelease appDistributionUploadRelease
    

이제 테스터에게 빌드를 다운로드하고 테스트하라는 이메일 초대가 전송됩니다. 개발자는 이제 앱 배포 대시보드의 출시 탭에서 빌드를 모니터링할 수 있습니다.

6. 출시 버전 다운로드 및 테스트

이 섹션에서는 배포한 출시 버전을 다운로드할 수 있도록 테스터로 설정합니다. 테스터는 테스트 기기를 인증하고 Google Play 스토어 앱에서 내부 앱 공유를 사용 설정해야 합니다.

  1. 테스트 기기에서 테스터 이메일 계정에 로그인하고 Firebase의 초대장을 엽니다.

    이미지 6.png
  2. Google 계정으로 로그인하고 배포된 출시 버전을 테스트하기 위한 초대를 수락합니다. 또는 Firebase App Tester를 다운로드하여 다운로드한 출시 버전이 기기의 Downloads 폴더에 추가되지 않도록 할 수도 있습니다. 또한 다운로드 진행률, 출시 버전과 같은 출시에 관한 추가 정보도 표시됩니다.

    image9.png
  3. 버전에서 다운로드를 탭하여 Play 스토어에서 설치합니다.
  4. 메시지가 표시되면 나머지 단계를 완료하여 내부 앱 공유를 사용 설정합니다 (안내는 테스트 기기에 표시되며 한 번만 완료하면 됩니다).

다운로드가 완료되면 발표 트랙이 기기의 홈 화면에 바로가기로 자동으로 표시됩니다.

7. 수고하셨습니다.

Firebase 앱 배포를 사용하여 App Bundle을 업로드하고 테스터에게 출시 버전을 배포했습니다.

다음 단계