이 페이지에서는 App Distribution을 사용한 앱 배포와 테스트와 관련하여 자주 묻는 질문(FAQ)에 대한 답변과 문제 해결 도움말을 제공합니다.
앱 배포
다음 팁을 사용하여 테스터들에게 앱을 배포할 때 발생할 수 있는 문제를 해결할 수 있습니다.
누락된 연락처 이메일로 인해 앱을 배포할 수 없음
앱을 업로드할 때 다음 오류가 발생할 수 있습니다.
'<app-id>
앱의 연락처 이메일을 찾을 수 없습니다. Firebase Console 내에서 App Distribution으로 이동하여 설정하세요.'
가능한 경우 Firebase Console에서 연락처 이메일을 설정합니다. 문제가 계속되면 Firebase 지원팀에 문의하세요.
앱을 프로비저닝하는 동안 오류 발생(400, 409, 500 오류)
프로비저닝하는 동안 400, 409, 500 오류가 반복적으로 발생하면 Firebase 지원팀에 문의하세요. Firebase 프로젝트 번호와 앱 식별자를 지원팀에 제공하세요.
APK 파일을 업로드할 수 없음
APK 크기를 확인합니다. 모든 바이너리의 최대 파일 크기 한도는 2GB보다 약간 더 큰 2,048MiB입니다.
APK 크기가 파일 크기 한도 내에 있고 재현 가능한 경우에는 Firebase 지원팀에 문의하세요.
APK를 Fastlane에 업로드할 수 없습니다. APK가 서명되지 않았습니다.
다음을 사용하여 APK가 서명되었는지 확인합니다.
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
Android App Bundle(AAB) 배포
소셜 로그인/타사 API 공급업체 오류 수신
AAB를 App Distribution에 업로드하면 Google Play에서 테스트 앱 서명 키 인증서를 사용하여 생성된 APK를 자동으로 다시 서명합니다. 메시지가 표시된 후 타사 서비스를 계속 사용하려면 API 제공업체에 앱을 등록해야 합니다. 서명되면 Firebase Console에서 앱의 테스트 인증서를 볼 수 있습니다.
업로드하는 AAB가 Google Play에도 표시되나요?
App Distribution에 업로드하는 AAB 빌드는 Google Play 개발자 계정(App Bundle 탐색기 및 내부 앱 공유 포함)에 표시되지 않습니다.
Google Play에서 Firebase 연결을 해제하면 어떻게 되나요?
Firebase Android 앱이 Google Play에서 연결 해제되면 다음 결과가 발생합니다.
새로운 앱 번들을 App Distribution에 업로드할 수 없고 Google Play와의 App Distribution 통합을 통해 Google Play로 내보낼 수 없게 됩니다.
기존 빌드는 Firebase App Distribution 대시보드와 테스터에 계속 제공됩니다.
이전에 Firebase와 Google Play 간에 내보낸 데이터는 두 제품에서 계속 액세스할 수 있습니다.
Google Play에 앱 연결을 다시 시도할 수 있나요?
App Distribution을 통해 Android App Bundle(AAB)을 배포하고 업로드된 AAB를 Firebase 프로젝트와 Google Play 개발자 계정 모두에 자동으로 연결하려면 다음 요구사항을 충족해야 합니다.
Google Play 개발자 계정에 소유자 또는 관리자의 액세스 수준이 포함되어 있습니다.
Firebase 프로젝트의 경우 소유자 또는 Firebase 관리자 역할 중 하나가 있습니다.
앱이 Firebase 및 Google Play 개발자 계정에 등록되어 있습니다. 즉, Firebase Android 앱과 Google Play 앱이 모두 있습니다.
Google Play의 앱과 Firebase Android 앱은 모두 동일한 패키지 이름을 사용하여 등록되어 있습니다.
Google Play의 앱은 앱 대시보드에 설정되어 Google Play 트랙(내부 테스트, 비공개 테스트, 공개 테스트 또는 프로덕션) 중 하나에 배포되어 있습니다.
Google Play에서 앱 검토가 완료되고 앱이 게시되어 있습니다. 앱 상태 열에 내부 테스트(초안 내부 테스트 아님), 비공개 테스트, 공개 테스트 또는 프로덕션 상태 중 하나가 표시되면 앱이 게시됩니다.
이전에 위에 나열된 연결 기준을 충족하지 않는 앱을 업로드했지만 지금은 기준을 충족할 경우에는 Google Play에 Firebase Android 앱 연결을 재시도할 수 있습니다.
앱 설치 및 테스트
다음 팁을 사용하여 앱을 설치 및 테스트할 때 발생할 수 있는 문제를 해결할 수 있습니다.
테스터에게 Google 계정이 없음
사용자가 Google 계정을 만들면 자동으로 Gmail 주소가 부여됩니다.
테스터에게 Google Workspace 또는 Gmail 주소가 없거나 다른 이메일 주소를 사용하여 로그인하길 원할 때는 Gmail 이외의 이메일 주소를 계정에 연결하고 이 이메일을 사용해서 로그인하도록 요청합니다.
테스터가 대체 이메일을 선택할 때 다음 안내를 따라야 합니다.
- Gmail 주소를 사용하지 않습니다.
- 다른 Google 계정에 이미 연결된 이메일 주소를 사용하지 않습니다.
- 이 이메일 주소로 로그인할 때 Google 계정 비밀번호를 사용한다는 것을 기억합니다.
자세한 내용은 다른 이메일 주소로 Google 계정에 로그인을 참조하세요.
테스터가 올바른 앱 또는 빌드를 확인할 수 없음
테스터가 초대로 전송된 것과 다른 이메일 주소를 사용하여 이메일 초대를 수락한 경우 테스터가 올바른 앱 또는 빌드를 확인하지 못할 수 있습니다.
개발자가 초대를 전송하고 새 빌드에 추가하는 이메일(이메일 A)은 테스트가 초대를 수락하기 위해 사용하는 이메일(이메일 B)과 다를 수 있습니다. 이 경우에는 백그라운드 연결이 생성됩니다. 이메일 A가 새 빌드에 추가될 때마다 실제로는 이메일 B가 여기에 액세스합니다.
테스터가 다른 이메일 주소로 이메일 초대를 수락한 경우 다음 단계에 따라 문제를 해결합니다.
Firebase Console의 App Distribution 페이지에 있는 테스터 및 그룹 탭의 모든 테스터 보기 섹션에서 테스터를 삭제합니다. 기존 초대가 삭제됩니다.
앱을 테스트하도록 테스터를 다시 초대합니다. 테스터에게 초대 이메일이 전송됩니다.
테스터가 동일한 이메일 주소를 사용하여 초대를 수락하는지 확인합니다.
테스터에게 이메일 알림이 수신되지 않음
다음 중 하나가 발생하면 테스터에게 이메일 알림이 수신되지 않을 수 있습니다.
이메일 알림이 스팸 폴더로 전송되었습니다.
이메일 필터가 설정되었습니다.
초대가 하나의 이메일 계정에 전송되었지만 테스터가 다른 이메일 계정을 사용하여 수락했습니다. 초대가 처음 전송된 이메일 계정에 대해 새로운 출시 이메일이 테스터에게 수신됩니다.
테스터가 이전에 초대되었지만 처음 초대를 수락하지 않았습니다. 테스터가 후속 출시 버전에 추가된 경우 테스터가 처음 초대를 수락하지 않았으므로 App Distribution에서 출시 알림을 해당 테스터로 자동 전송하지 않습니다.
솔루션 1
테스터에게 스팸 폴더 및 이메일 서비스에 설정된 이메일 필터를 확인하도록 요청합니다.
테스터가 이메일을 구독 취소한 경우 테스터에게 다음을 수행하도록 요청합니다.
- 테스터가 이전에 앱에서 받은 이메일을 찾습니다.
- 아래에 있는 이메일 설정 관리를 클릭하고 이메일 허용을 클릭하여 다시 구독합니다.
솔루션 2
테스터가 이메일 알림을 원하지 않지만 앱 초대를 수락하려는 경우 App Tester 앱(다운로드 안내)에서 직접 대기 중인 앱 초대를 볼 수 있습니다.
솔루션 3
Firebase Console의 App Distribution 페이지에 있는 테스터 및 그룹 탭의 모든 테스터 보기 섹션에서 테스터를 삭제합니다. 이 작업을 수행하면 기존 초대가 삭제됩니다.
앱을 테스트하도록 테스터를 다시 초대합니다. 테스터에게 초대 이메일이 전송됩니다. 테스터가 초대가 전송된 것과 동일한 이메일 주소를 사용하여 초대를 수락하는지 확인합니다.
앱이 설치된 것으로 표시되지 않음
테스터가 출시 버전을 다운로드하고 설치하지만 앱 세부정보 사용자 인터페이스에 앱이 설치된 것으로 표시되지 않는 경우, 이것은 알려진 문제입니다. 일부 경우 Firebase 앱의 번들 ID가 APK의 번들 ID와 일치하지 않습니다.
APK의 번들 ID가 배포 업로드에 사용된 Firebase 앱의 번들 ID와 일치하는지 확인합니다.
기기에 알 수 없는 앱을 설치할 수 없다는 Android 알림이 표시됨
실행 중인 앱 또는 브라우저에 아직 Google Play 외부의 앱을 설치할 권한이 없으면 Android 알림이 표시됩니다. 권한을 부여하려면 다음 안내를 따르세요.
Android 버전 8 이상: 설정 앱에서 이 소스에서 허용을 탭합니다.
Android 버전 7 이하: 설정 앱에서 보안을 탭한 후 알 수 없는 소스를 선택합니다. 메시지가 표시되면 확인 > 신뢰를 탭합니다.
테스트 APK 설치 실패
테스터 기기에서 테스트 APK가 설치되지 않으면 다음을 수행합니다.
- 새 버전의 인증서가 테스터 기기에 설치된 버전과 일치하는지 확인합니다. Android 시스템에서는 인증서가 일치할 경우에만 앱 업데이트가 허용됩니다. 자세한 내용은 서명 고려사항을 참조하세요.
- 테스터 기기의 OS 버전이 앱에서 지원되는지 확인하세요(
minSdkVersion
확인).
Android App Tester 앱에 로그인할 수 없음
App Tester 앱에서 로그인이 수행되지 않고 로그인 화면으로 리디렉션되면 제한 설정이 포함된 Google Workspace(이전의 G Suite)를 사용 중인 것일 수 있습니다.
제한 설정을 삭제하려면 다음 안내를 따르세요.
AAB 설치 중 오류 발생: '앱을 설치할 수 없음'
이 오류는 설치 중인 앱이 기기에 이미 설치된 앱과 충돌할 때 발생할 수 있습니다. 예를 들어 동일한 커스텀 권한이나 ContentProvider 이름을 가진 동일한 앱의 다른 변형일 수 있습니다.
문제가 발생한 직후에 테스터에게 버그 신고를 수집하도록 요청하고 신고를 살펴본 다음 원인에 관한 자세한 정보를 확인할 수 있습니다. 새 앱을 설치하려면 먼저 테스터가 충돌하는 앱을 삭제해야 합니다.
403 오류: '액세스하려면 관리자에게 문의하세요'
403 오류가 발생하면 사용 중인 계정에 앱 설치 및 테스트 권한이 없기 때문일 수 있습니다. 액세스는 Google Workspace에서 계정 도메인의 관리자에 의해 결정됩니다.
앱 설치 및 테스트 권한이 필요하면 Google Workspace 계정 관리자에게 계정 설정 변경을 요청합니다. 관리자는 개별적으로 제어되지 않는 서비스 액세스 관리의 안내를 따라야 합니다.
여러 계정이 있으면 앱 설치 및 테스트가 제한되지 않는 다른 계정을 사용하여 로그인해보세요.
새 Android 기기에서 테스트
처음 테스트하는 테스터인 경우 테스터로 설정을 참조하세요.
기존 App Distribution 테스터이지만 테스트할 새로운 Android 기기를 받은 경우 전체 새 테스터 흐름을 다시 진행하는 대신 다음 단계를 수행합니다.
Android 기기에서 appdistribution.firebase.google.com으로 이동합니다.
기존 테스터 계정으로 로그인하고 화면 하단에 있는 앱 테스터 다운로드 버튼을 클릭하여 Android 앱 테스터 앱을 설치합니다.
App Distribution Android SDK로 테스터 기능 사용 설정
다음 팁을 따르면 App Distribution Android SDK를 사용하여 인앱 새 빌드 알림을 사용 설정하거나 인앱 의견을 제출할 때 발생하는 문제를 해결할 수 있습니다.
테스터가 앱에서 의견 보내기를 시작할 수 없음
이미 인앱 의견이 지원되도록 App Distribution Android SDK를 앱에 설정했지만 테스터에서 의견을 제출할 수 없으면 다음 단계를 수행합니다.
앱에서 App Distribution Android SDK의 상세 로깅을 사용 설정합니다.
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
'FirebaseAppDistribution'을 필터링하여 앱 로그에서 오류 메시지를 확인합니다.
테스터가 설치된 출시 버전에 액세스할 수 있는지 확인합니다.
로그에 '테스터에 이 리소스에 대한 액세스 권한이 없음'이라고 표시되면 테스터가 앱에 초대되지 않았거나 출시 버전에 대한 액세스 권한이 없을 수 있습니다.
Firebase 콘솔의 App Distribution 대시보드에서 테스터 기기에 실행되는 정확한 출시 버전을 찾고 테스터가 출시 카드의 테스터 탭에 나열되어 있고 수락됨 상태인지 확인합니다.
여전히 의견을 받지 못한다면 다음 단계를 수행합니다.
테스트 기기에서 App Tester 또는 테스터 웹 앱을 사용하여 Firebase App Distribution에 로그인합니다. 앱 테스트 초대를 받았을 때 처음 사용한 Google 계정을 선택해야 합니다.
App Tester 또는 테스트 웹 앱을 사용하여 앱을 다시 설치해 테스터가 출시 버전에 액세스할 수 있는지 확인합니다.
의견을 다시 제출하되 같은 Google 계정으로 로그인해야 합니다.
Firebase App Testers API를 사용 설정했는지 확인합니다. 자세한 내용은 App Distribution Tester API 사용 설정을 참조하세요.
키 제한사항 아래에서 Firebase App Testers API가 허용되는 API 목록에 포함되어 있는지 확인합니다.
앱에 제출된 의견을 받지 못함
의견을 제출할 때 '의견을 보내려고 했으나 개발 모드로 인해 전송되지 않음'이라는 메시지가 표시되면 다음 명령어를 실행하여 기기에서 개발자 모드를 사용 중지합니다.
adb shell setprop debug.firebase.appdistro.devmode false
google-services.json
파일을 확인하여 올바른 프로젝트와 앱에 대한 의견을 제출하고 있는지 확인합니다.앱에서 App Distribution Android SDK의 상세 로깅을 사용 설정합니다.
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
'FirebaseAppDistribution'을 필터링하여 앱 로그에서 오류 메시지를 확인합니다.
테스터가 인앱 알림을 받지 못함
앱에 이미 App Distribution Android SDK가 설정되어 있지만 테스터에서 인앱 알림을 받지 못하면 다음 단계를 수행합니다.
OnFailureListener
를 Firebase App Distribution API에서 반환하는 태스크에 연결하여 오류 메시지를 확인합니다.Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});
Kotlin
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }
테스터가 새 출시 버전에 액세스할 수 있는지 확인합니다.
앱에서 디버그 모드를 사용 설정합니다. 방법은 Google 애널리틱스 문서를 참조하세요.
시뮬레이터에서 앱을 실행하고 'FirebaseAppDistribution' 문자열을 검색합니다.
로그에 출시 버전을 찾을 수 없거나 테스터에게 액세스가 없다고 표시되면 테스터가 새 출시 버전에 연결되지 않았을 수 있습니다.
Firebase Console의 App Distribution 대시보드에서 테스터가 빌드 배포에 포함되어 있고 수락됨 상태인지 확인합니다.
테스터가 여전히 알림을 받지 못하는 경우 아래 팁에 따라 앱 테스트 초대를 수락하고 테스트 기기를 올바르게 설정했는지 확인합니다.
테스트 기기에서 App Tester 또는 테스터 웹 앱을 통해 Firebase 앱 배포에 로그인합니다. 앱 테스트 초대를 받았을 때 처음 사용한 Google 계정을 선택해야 합니다.
App Tester 또는 테스터 웹 앱에서 새 앱 출시 버전을 사용할 수 있는지 확인합니다.
테스터에게 앱을 닫았다가 다시 로그인하라는 메시지가 표시됨
기본적으로 테스터는 Google 계정에 한 번만 로그인하면 테스트 기능을 사용 설정할 수 있습니다. 테스터에 앱을 닫았다가 다시 연 후 다시 로그인하라는 메시지가 표시되면 다음 팁을 수행하여 App Distribution 구성이 올바르게 설정되어 있는지 확인합니다.
Firebase App Testers API를 사용 설정했는지 확인합니다. 자세한 내용은 App Distribution Tester API 사용 설정을 참조하세요.
키 제한사항 아래에서 Firebase App Testers API가 허용되는 API 목록에 포함되어 있는지 확인합니다.
로그아웃 시 일반적으로 SharedPreferences를 삭제하는 경우 테스터 상태가 삭제될 수 있습니다. App Distribution에는 테스터가 이미 앱에 로그인되었는지 여부를 나타내는 플래그가 저장되어 있습니다. 자세한 내용은 GitHub 저장소를 참조하세요.
자주 묻는 질문(FAQ)
앱에 테스터를 추가하는 데 한도가 있나요?
Firebase App Distribution에는 다음과 같은 테스터 한도가 있습니다.
Firebase 프로젝트 하나에 최대 500명의 테스터 추가
App Distribution 그룹에 테스터를 최대 200개까지 추가
더 많은 테스터를 추가하려면 무료로 제공되는 한도 상향 조정을 요청하세요.
테스터 초대의 유효 기간이 정해져 있나요?
테스터는 초대 유효 기간(30일) 만료 전에 앱 테스트를 수락해야 합니다. 초대 유효 기간이 만료되기 5일 전부터 Firebase Console에서 출시 버전의 테스터 옆에 만료 알림이 표시됩니다. 테스터 행의 드롭다운 메뉴를 사용하여 초대를 재전송하면 갱신할 수 있습니다.
앱 출시 버전은 얼마 동안 사용할 수 있나요?
다음 조건 중 하나에 해당하는 경우 App Distribution에서 앱 출시 버전이 삭제됩니다.
- 앱 출시 버전이 150일 이상 지났습니다.
- 앱 출시 한도 1,000개가 초과되었고 해당 앱 출시 버전이 1,000개의 최근 앱 출시 버전보다 오래 되었습니다.
자세한 내용은 App Distribution에서 출시 버전을 최대 1,000개까지 지원을 참조하세요.
앱이 150일 만료 한도나 출시 버전 1,000개 한도에 도달하거나 초과하면 출시 버전이 App Distribution 대시보드와 Firebase App Tester 앱에서 삭제됩니다. 테스터에서 출시 버전을 설치한 경우에는 로컬 앱 버전이 계속 실행됩니다.
앱 출시 버전을 더 오래 유지하려면 다음 권장사항 중 하나를 따르세요.
- 앱 출시 버전의 출시 버전 한도가 만료되거나 초과되기 전에 APK 또는 AAB를 다운로드하고 App Distribution 대시보드에서 출시 버전을 삭제합니다. 그런 다음 APK 또는 AAB를 새 빌드로 App Distribution에 다시 업로드합니다.
- 장기간 보관하려면 출시 버전을 다운로드하여 Cloud Storage에 업로드합니다.
150일 후 앱 출시 버전 만료
앱 출시 버전을 Firebase에 업로드하면 업로드 날짜로부터 150일 동안 출시 버전이 App Distribution 대시보드에 표시됩니다. 출시 버전을 업로드한 후에는 이를 테스터에 배포할 수 있고, 테스터가 자신의 테스트 기기에서 Firebase App Tester 앱으로부터 출시 버전을 설치할 수 있습니다.
출시 버전의 만료 날짜가 30일 남았으면 앱 출시 버전 만료 알림이 Firebase App Tester 앱의 출시 버전에 표시됩니다.
App Distribution에서 출시 버전 최대 1,000개까지 지원
App Distribution에서는 출시 버전을 앱당 최대 1,000개까지 허용합니다. 앱이 앱 출시 버전 한도 1,000개에 도달하면 App Distribution에서 한도를 초과하는 가장 오래된 출시 버전을 자동으로 삭제합니다.
앱 출시 버전을 수동으로 관리하려면 App Distribution REST API를 사용하여 앱 출시 버전을 대량으로 나열하고 삭제합니다.
질문이 있으면 Firebase 지원팀에 문의하세요.
기기에 설치된 테스트 앱에 액세스하려면 어떻게 해야 하나요?
테스터는 모든 테스트 빌드를 한 곳에서 액세스할 수 있는 앱인 Firebase App Tester를 다운로드하는 것이 좋습니다.
자동 테스터 기능에 할당량 한도가 있나요?
Firebase App Distribution은 Firebase Test Lab 인프라를 사용하며 할당량 한도와 가격은 동일합니다. 테스트 할당량은 일일 테스트 실행 횟수로 측정됩니다. 테스트 할당량 및 결제에 대한 자세한 내용은 Test Lab의 사용량 수준, 할당량 및 가격 책정을 참조하세요.
자동 테스터 기능의 할당량 재시도 한도는 무엇인가요?
할당량을 초과하면 할당량 초과 오류가 발생합니다. 할당량을 재설정하는 데 약 24시간이 걸리므로 할당량이 해제될 때까지 재시도하지 않아야 합니다. 그러나 자동 테스터 인프라와 관련된 오류가 발생한 경우 문의하면 즉시 재시도 성공 가능성이 높아집니다.
자동화된 테스터 베타 기능을 실행하려면 어떤 권한이 필요한가요?
자동 테스터 기능으로 테스트를 실행하려면 Firebase 프로젝트에 대한 편집자 액세스 권한이 있어야 합니다.
테스터 계정을 삭제하려면 어떻게 해야 하나요?
App Distribution 테스터 계정과 관련 데이터를 삭제하려면 다음 단계를 순서대로 수행합니다.
https://appdistribution.firebase.google.com을 방문하여 Google 계정으로 로그인합니다.
오른쪽 상단에서
(계정 관리)을 클릭합니다.계정을 삭제합니다.
선택사항: Google 계정 권한에서 Firebase App Distribution의 액세스 권한을 취소합니다. 먼저 App Distribution 계정을 삭제하지 않고 액세스 권한을 취소하면 테스터 계정이나 데이터가 삭제되지 않습니다.