0Pricing
Android Academy · 강의

출시 단계와 업데이트

단계적 출시와 업데이트를 진행합니다.

출시 단계와 업데이트은(는) CoddyKit의 무료 Android Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Android Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

위험 없이 출시하기

새 버전을 모든 사용자에게 한 번에 배포하는 것은 위험합니다. 숨겨진 충돌이 전체 사용자에게 즉시 영향을 줄 수 있기 때문입니다. Google Play는 더 안전한 방법인 테스트 트랙과 단계적 배포를 제공합니다.

이 레슨에서는 출시 트랙, 먼저 소수의 사용자에게 배포하는 방법, 업데이트가 사용자에게 전달되는 방식, 문제가 발생했을 때 대응하는 방법을 배웁니다.

출시 트랙

Play는 노출 범위가 작은 것부터 큰 순서로 출시를 트랙에 구성합니다.

  • 내부 테스트 — 최대 100명의 테스터가 몇 분 내에 사용할 수 있으며 팀을 대상으로 합니다.
  • 비공개 테스트 — 이메일 목록이나 그룹을 통해 초대한 테스터를 대상으로 합니다.
  • 공개 테스트 — 누구나 공개 베타에 참여할 수 있습니다.
  • 프로덕션 — 스토어의 모든 사용자를 대상으로 합니다.

권장 흐름은 빌드를 다음 단계로 차례로 승격하는 것입니다. 내부 → 비공개 → 공개 → 프로덕션

출시 버전 만들기

어떤 트랙에서든 새 출시 버전 만들기를 클릭하고 .aab를 업로드하거나 앱 번들 탐색기에서 하나를 선택한 다음 출시 노트를 추가합니다.

출시 노트는 언어 태그를 사용하므로 각 지역에 고유한 텍스트를 제공할 수 있습니다. 짧게 작성하고 사용자에게 초점을 맞추세요.

<!-- Release notes, one block per language -->
<en-US>
- New dark mode
- Faster startup
- Fixed a crash when opening profiles
</en-US>
<tr-TR>
- Yeni karanlık mod
- Daha hızlı açılış
- Profil açılırken oluşan çökme düzeltildi
</tr-TR>

단계적(비율) 배포

프로덕션 출시에서는 단계적 배포를 진행할 수 있습니다. 먼저 10%와 같이 소수의 사용자에게 배포한 다음 범위를 늘립니다.

Play는 업데이트를 받을 사용자를 무작위로 선택합니다. 충돌 및 ANR 비율을 확인한 다음 비율을 10% → 25% → 50% → 100%로 높입니다.

측정항목이 좋지 않으면 비율을 늘리지 않거나, 대부분의 사용자에게 영향을 주기 전에 배포를 중단할 수 있습니다.

배포 중지 및 재개

단계적 배포에서 문제가 발견되면 콘솔에서 배포를 중지할 수 있습니다. 중지하면 새로운 사용자는 업데이트를 받지 않지만 이미 업데이트한 사용자는 계속 업데이트된 버전을 사용합니다.

새 버전으로 수정 사항을 출시한 후 배포를 재개하거나 새 배포를 시작합니다. 중지를 사용하면 전체 회수 없이 시간을 벌 수 있습니다. 이미 설치한 사용자에 대해서는 Play가 사실상 전체 회수 기능을 제공하지 않기 때문입니다.

바로 이것이 낮은 비율에서 시작하는 이유입니다.

업데이트가 사용자에게 전달되는 방식

기본적으로 Play 스토어 앱은 백그라운드에서 앱을 자동 업데이트합니다(대개 Wi-Fi 사용 시). 사용자가 직접 "업데이트"를 누를 수도 있습니다.

versionCode 규칙을 기억하세요. 각 출시 버전은 이전 버전보다 큰 정수여야 하며, 그렇지 않으면 Play에서 거부합니다. versionName은 사용자가 보는 라벨일 뿐입니다.

android {
    defaultConfig {
        // Must be strictly greater than the previous release
        versionCode = 13
        // Friendly label shown in the store and settings
        versionName = "1.5.0"
    }
}

앱 내 업데이트

때로는 앱 안에서 사용자에게 업데이트를 안내하고 싶을 수 있습니다. 앱 내 업데이트 API는 두 가지 모드를 제공합니다.

  • 유연한 업데이트 — 사용자가 앱을 계속 사용하는 동안 백그라운드에서 다운로드합니다.
  • 즉시 업데이트 — 중요한 업데이트를 위한 전체 화면 차단 흐름입니다.

업데이트 가능 여부를 확인하고 업데이트가 준비되면 선택한 흐름을 시작합니다.

val manager = AppUpdateManagerFactory.create(context)

manager.appUpdateInfo.addOnSuccessListener { info ->
    val available = info.updateAvailability() ==
        UpdateAvailability.UPDATE_AVAILABLE
    if (available && info.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
        manager.startUpdateFlowForResult(
            info,
            AppUpdateType.FLEXIBLE,
            activity,
            REQUEST_CODE_UPDATE
        )
    }
}

유연한 업데이트 완료

유연한 업데이트는 조용히 다운로드됩니다. 다운로드가 완료되면 설치를 위해 completeUpdate()를 호출해야 합니다. 일반적으로 스낵바로 사용자에게 안내한 후 호출합니다.

DOWNLOADED 상태를 수신한 다음 다시 시작하도록 안내하세요.

manager.registerListener { state ->
    if (state.installStatus() == InstallStatus.DOWNLOADED) {
        // Tell the user, then finish the install
        showRestartSnackbar {
            manager.completeUpdate()
        }
    }
}

출시 후 모니터링

출시는 끝이 아닙니다. Play Console의 Android vitals 대시보드는 Play에서 앱 순위를 정할 때 사용하는 상태 측정항목도 추적합니다.

  • 충돌률 및 ANR 비율(애플리케이션 응답 없음)
  • 과도한 깨우기, 느린 렌더링 및 배터리 문제

단계적 배포 중에는 이러한 항목을 면밀히 확인하세요. 급증이 나타나면 범위를 넓히기 전에 중지해야 한다는 신호입니다.

리뷰 및 문제에 대응하기

출시 후에는 두 가지 습관을 지속하는 것이 중요합니다.

  • 콘솔에서 리뷰에 답변합니다. 평점을 높이고 실제 오류를 발견하는 데 도움이 됩니다.
  • vitals 또는 충돌 보고 도구에서 충돌을 분류하고 수정한 다음 versionCode를 높여 새로운 단계적 배포를 진행합니다.

출시는 반복 과정입니다. 작게 배포하고, 측정하고, 수정한 후 다시 배포하세요.

안전한 출시 작업 흐름

레슨 전체를 종합하면 안정적인 작업 흐름은 다음과 같습니다.

  • 내부 테스트에 업로드하고 팀과 함께 기본 동작을 테스트합니다.
  • 더 폭넓은 피드백을 위해 비공개/공개 테스트로 승격합니다.
  • 10% 단계적 배포로 프로덕션 출시를 시작합니다.
  • Android vitals를 확인하고 상태가 양호하면 비율을 높입니다.
  • 측정항목이 급증하면 중지하고 수정한 다음 새 빌드로 재개합니다.

작은 단계와 철저한 모니터링을 통해 출시를 두려운 일이 아닌 일상적인 작업으로 만들 수 있습니다.

빠른 확인

프로덕션 출시 버전을 사용자 10%에게 배포했는데 충돌률이 급증했습니다. 수정 사항을 준비하는 동안 문제가 있는 버전을 더 많은 사용자가 받지 않도록 하려면 어떻게 해야 할까요?

복습: 배포 및 업데이트

이제 자신 있게 출시할 수 있습니다.

  • 트랙인 내부, 비공개, 공개, 프로덕션을 사용해 빌드를 점진적으로 노출합니다.
  • 작은 비율에서 시작하는 단계적 배포를 진행하고 측정항목이 양호하게 유지되면 범위를 늘립니다.
  • vitals가 급증하면 배포를 중지하고 수정한 뒤 더 높은 versionCode의 새 빌드를 출시합니다.
  • 선택적으로 앱 내 업데이트 API의 유연한 업데이트 또는 즉시 업데이트를 사용해 사용자에게 안내합니다.
  • Android vitals와 리뷰를 모니터링한 다음 개선을 반복합니다.

이제 서명된 출시 빌드부터 안전하게 모니터링하는 배포까지, Google Play 게시 과정을 모두 마쳤습니다.

자주 묻는 질문

“출시 단계와 업데이트” 강의는 무료인가요?

네 — “출시 단계와 업데이트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Android Academy 강의 전체를 잠금 해제할 수 있습니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“출시 단계와 업데이트”에서 뭘 배우나요?

단계적 출시와 업데이트를 진행합니다. 브라우저에서 직접 실행하는 실습 코드로 Android Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Android Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Android Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“출시 단계와 업데이트” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Android Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Android Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 릴리스 빌드 준비
  2. 앱 서명
  3. Play Console과 스토어 등록정보
  4. 출시 단계와 업데이트
← Android Academy(으)로 돌아가기