2026. 4. 27. 06:53ㆍAI Product Building/Lotto App
개발 초기, 가칭으로 정했던 'MyFeelLotto'라는 이름은 기능 중심적이었지만 사용자에게 다가가기엔 조금 딱딱한 느낌이 있었습니다. 브랜드의 감성을 담아 새롭게 정한 이름은 바로 '바이브 로또(Vibe Lotto)'입니다. 이름을 바꾸기로 결정한 순간, 단순한 텍스트 수정보다 훨씬 거대한 작업이 기다리고 있었습니다. 바로 앱의 주민등록번호와 같은 '패키지명(Package Name)'을 변경하는 것이었죠. 오늘은 리브랜딩 과정에서 겪은 패키지 마이그레이션 실전 노하우를 공유합니다.
1. 왜 패키지명 변경은 '대공사'가 되는가?
안드로이드의 Application ID와 iOS의 Bundle ID는 스토어에서 앱을 식별하는 고유 키입니다. 이를 변경하면 단순히 소스 코드 내의 폴더 경로만 바뀌는 것이 아닙니다. 구글 플레이 콘솔에 등록된 앱 정보는 물론, 파이어베이스(Firebase), 구글 애드몹(AdMob), 카카오 API 등 패키지명을 기반으로 인증을 수행하는 모든 외부 서비스의 설정을 새로 발급받아야 합니다. '바이브 로또' 역시 이 과정에서 모든 API 키를 재설정하고 연동 상태를 전수 조사하는 꼼꼼함이 필요했습니다.
2. Flutter 프로젝트에서 패키지명 일괄 변경하기
수동으로 모든 파일을 찾는 것은 위험합니다. 저는 change_app_package_name 라이브러리를 활용하거나 안드로이드 스튜디오의 'Replace in Path' 기능을 사용하여 com.myfeel.my_feel_lotto를 프로젝트 전반에 걸쳐 수정했습니다. 특히 중요한 것은 build.gradle, AndroidManifest.xml, 그리고 MainActivity.kt 내의 패키지 선언부입니다. 이 중 하나라도 어긋나면 빌드 에러의 늪에 빠지게 됩니다.
// 핵심 소스 코드: build.gradle (app) 내 패키지명 수정 예시
android {
// 1. 네임스페이스 수정
namespace "com.myfeel.my_feel_lotto"
defaultConfig {
// 2. 앱의 고유 ID 수정 (스토어 식별자)
applicationId "com.myfeel.my_feel_lotto"
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
}
3. 외부 서비스 마이그레이션: Firebase와 AdMob
가장 고생했던 부분은 Firebase 설정입니다. 기존 패키지명으로 생성된 google-services.json 파일은 더 이상 작동하지 않습니다. 파이어베이스 콘솔에서 새 패키지명으로 앱을 추가 등록하고, 새 파일을 다운로드하여 android/app 폴더에 교체했습니다. 애드몹 역시 마찬가지로 새 앱 ID를 생성하고 광고 단위를 다시 매핑해야 했습니다. 이 과정에서 발생할 수 있는 '광고 노출 중단'을 방지하기 위해 릴리즈 직전까지 철저한 테스트를 거쳤습니다.
4. 새로운 정체성, '바이브 로또'의 완성
모든 마이그레이션이 끝난 후, 앱 아이콘부터 메인 컬러까지 '바이브 로또'의 컨셉에 맞게 전면 수정했습니다. 리브랜딩은 단순한 이름 바꾸기가 아니라 서비스의 '바이브(Vibe)'를 재정립하는 과정이었습니다. 패키지명까지 깔끔하게 정리하고 나니, 비로소 정식 출시를 위한 기술적/브랜드적 준비가 완료되었다는 확신이 들었습니다. 이 고통스러운(?) 과정 덕분에 프로젝트의 의존성 구조를 다시 한번 정비할 수 있는 좋은 계기가 되었습니다.
새로운 이름으로 더 강력해진 '바이브 로또'를 만나보세요!
👉 바이브 로또 다운로드 바로가기이제 리브랜딩까지 마쳤으니 본격적인 출시 단계로 넘어갑니다. 하지만 마켓에 올리기 위해선 법적인 방어막이 필요하죠. 다음 15편에서는 "이용약관, 개인정보 처리방침 및 앱 출시를 위한 법적 고지(Legal Shield) 방어막 세우기"에 대해 다뤄보겠습니다.