App Store나 Google Play에 Flutter 앱을 게시하는 단계는 무엇인가요?

Flutter 앱을 App Store(iOS)와 Google Play(Android)에 게시하는 과정은 각 플랫폼별로 특정 요구사항과 단계가 있습니다. 아래에서 두 플랫폼에 Flutter 앱을 게시하는 전체 과정을 단계별로 설명하겠습니다.

1. 게시 준비 공통 단계

1.1 앱 최종 점검

# 의존성 업데이트 및 정리
flutter pub get
flutter pub upgrade

# 코드 분석
flutter analyze

# 테스트 수행
flutter test

# 성능 점검 (프로파일 모드로 테스트)
flutter run --profile

1.2 앱 버전 설정

pubspec.yaml 파일에서 앱 버전을 업데이트합니다:

version: 1.0.0+1 # <버전 이름>+<버전 코드>
  • 버전 이름(1.0.0): 사용자에게 표시되는 버전
  • 버전 코드(1): 내부적으로 사용되는 빌드 번호 (릴리스마다 증가)

2. Google Play(Android)에 앱 게시하기

2.1 앱 서명 설정

2.1.1 키스토어 생성

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

2.1.2 키 속성 파일 생성

android/key.properties 파일을 생성:

storePassword=<비밀번호>
keyPassword=<비밀번호>
keyAlias=key
storeFile=<키스토어 경로, 예: /Users/username/key.jks>

2.1.3 앱 Gradle 파일 구성

android/app/build.gradle 파일 수정:

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    // ...

    defaultConfig {
        // ...
        minSdkVersion 21 // 또는 필요한 최소 버전
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release

            // 선택 사항: 코드 난독화 및 최적화
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

2.2 앱 아이콘 및 스플래시 설정

android/app/src/main/res/ 디렉토리에 적절한 해상도의 아이콘과 스플래시 이미지 추가

2.3 앱 메타데이터 설정

android/app/src/main/AndroidManifest.xml 파일에서 메타데이터 확인:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.app">

    <!-- 필요한 권한 -->
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:label="앱 이름"
        android:icon="@mipmap/ic_launcher">
        <!-- 애플리케이션 설정 -->
    </application>
</manifest>

2.4 AAB(Android App Bundle) 빌드

flutter build appbundle

생성된 파일 위치: build/app/outputs/bundle/release/app-release.aab

2.5 Google Play Console에 앱 등록

  1. Google Play Console에 로그인
  2. '앱 만들기' 클릭
  3. 앱 정보 입력 (앱 이름, 기본 언어, 앱 유형)
  4. 무료 앱 또는 유료 앱 선택
  5. 개인정보 처리방침 URL 제공

2.6 앱 콘텐츠 설정

Google Play Console에서:

  1. 앱 설정 > 앱 카테고리 및 콘텐츠 등급 설정
  2. 설문지 작성하여 콘텐츠 등급 받기
  3. 대상 연령층 지정

2.7 스토어 등록정보 작성

다음 정보를 준비하고 입력:

  • 스토어 등록정보(앱 이름, 간단한 설명, 자세한 설명)
  • 그래픽 자산(아이콘, 기능 그래픽, 스크린샷)
  • 언어별 번역된 설명
  • 연락처 정보(이메일, 웹사이트)

2.8 AAB 업로드 및 출시

  1. '앱 번들 및 APK' 섹션에서 AAB 파일 업로드
  2. 업로드된 앱 버전 확인
  3. 테스트 트랙 선택(내부 테스트, 비공개 테스트, 공개 테스트)
  4. 또는 즉시 프로덕션으로 출시

2.9 출시 검토 및 승인

  1. 앱 검토 과정은 일반적으로 몇 시간에서 며칠 소요
  2. 거부된 경우 수정 후 재제출
  3. 승인 후 Google Play 스토어에 앱 게시

3. App Store(iOS)에 앱 게시하기

3.1 애플 개발자 계정 설정

  1. Apple Developer Program에 등록(연회비 $99)
  2. 계정 설정 및 팀 구성

3.2 앱 ID 및 인증서 설정

3.2.1 App ID 생성

  1. Apple Developer Portal에 로그인
  2. Certificates, IDs & Profiles > Identifiers > +버튼 클릭
  3. App ID 유형 선택 및 앱 정보 입력
  4. 번들 ID 설정(com.example.app)
  5. 필요한 기능(푸시 알림, 인앱 결제 등) 활성화

3.2.2 인증서 생성

  1. Certificates > +버튼 클릭
  2. App Store and Ad Hoc 또는 iOS Distribution 인증서 생성
  3. 로컬 Mac에서 CSR 파일 생성 후 업로드
  4. 인증서 다운로드 및 Keychain Access에 추가

3.2.3 프로비저닝 프로파일 생성

  1. Profiles > +버튼 클릭
  2. App Store 배포 프로파일 선택
  3. 앞서 생성한 App ID 선택
  4. 인증서 선택
  5. 프로파일 생성 및 다운로드

3.3 Xcode 설정

3.3.1 Xcode 구성

  1. Xcode 열기(Visual Studio Code나 Android Studio에서 Xcode 열기 가능)
  2. Runner.xcworkspace 파일 열기
  3. 프로젝트 설정에서 팀 선택
  4. 번들 식별자 설정(App ID의 번들 ID와 일치해야 함)

3.3.2 앱 설정 구성

Xcode에서:

  1. General 탭: 버전, 빌드 번호, 타겟 설정
  2. Signing & Capabilities: 자동 서명 또는 수동 서명 설정
  3. Info 탭: 앱 이름, URL 체계, 필요한 권한 설정

3.3.3 앱 아이콘 및 시작 화면 설정

ios/Runner/Assets.xcassets에서 앱 아이콘 및 시작 화면 이미지를 Xcode 요구사항에 맞게 추가

3.4 iOS 앱 빌드

# 우선 Flutter 앱을 iOS 용으로 빌드
flutter build ios --release

# 또는 Xcode에서 빌드
open ios/Runner.xcworkspace

Xcode에서:

  1. 앱 빌드 설정 확인(Product > Scheme > Edit Scheme)
  2. 릴리즈 구성 선택
  3. Product > Archive로 앱 아카이브 생성

3.5 App Store Connect에 앱 설정

  1. App Store Connect 로그인
  2. '앱' 섹션에서 '+' 버튼 클릭
  3. 다음 정보 제공:
    • 플랫폼 선택(iOS)
    • 앱 이름
    • 기본 언어
    • 번들 ID (Apple Developer Portal에서 생성한 것과 일치)
    • SKU (고유 식별자)
    • 사용자 접근 정보(Full Access 또는 제한된 접근)

3.6 앱 정보 작성

App Store Connect에서:

  1. 앱 정보 탭: 연령 등급, 카테고리, 개인정보 처리방침 URL
  2. 가격 및 가용성 설정
  3. 앱 스토어 정보:
    • 설명
    • 키워드
    • 지원 URL
    • 마케팅 URL
    • 스크린샷(다양한 디바이스용)
    • 홍보 텍스트

3.7 Xcode에서 App Store에 제출

  1. Xcode의 Organizer에서 생성한 아카이브 선택
  2. "Distribute App" 클릭
  3. "App Store Connect" 선택
  4. 배포 옵션 선택(자동 관리 또는 수동 관리)
  5. 업로드 완료 대기

3.8 App Store Connect에서 출시 준비

  1. 업로드된 빌드가 처리되는 동안 대기(최대 1시간)
  2. 처리 완료 후 '버전 정보' 탭에서 빌드 선택
  3. 앱 심사 정보 제공:
    • 연락처 정보
    • 심사 참고 사항(계정 정보, 특별 지침 등)
    • 다음이 필요한지 여부:
      • 앱 내 구매 확인을 위한 데모 계정
      • 첨부 파일(데모 영상 등)

3.9 심사를 위한 앱 제출

  1. "심사를 위해 제출" 버튼 클릭
  2. 모든 정보가 올바른지 확인
  3. 제출 후 심사 대기

3.10 심사 및 출시

  1. 심사 과정은 일반적으로 24시간~몇 일 소요
  2. 거부된 경우 문제 수정 후 재제출
  3. 심사 승인 후 수동 또는 자동 출시 설정에 따라 출시

4. 출시 후 모니터링 및 업데이트

4.1 앱 성능 모니터링

# pubspec.yaml에 모니터링 도구 추가
dependencies:
  firebase_crashlytics: ^3.3.5
  firebase_analytics: ^10.4.5

4.2 사용자 피드백 수집

앱에 피드백 메커니즘 추가:

  • 인앱 피드백 폼
  • 이메일 지원 버튼
  • 리뷰 및 평점 요청 다이얼로그

4.3 업데이트 배포

앱 업데이트가 필요할 때:

  1. 코드 수정 및 테스트
  2. 버전 번호 증가(pubspec.yaml 파일)
  3. 각 플랫폼별 빌드 및 제출 절차 반복
  4. 출시 노트 작성
  5. 사용자에게 변경 사항 알림

요약: 게시 체크리스트

Android (Google Play)

  1. 앱 버전 및 코드 최종 검토
  2. 키스토어 설정 및 서명 구성
  3. AAB 빌드
  4. Google Play Console에 앱 등록
  5. 스토어 항목(설명, 이미지 등) 작성
  6. AAB 업로드
  7. 테스트 또는 프로덕션 출시
  8. 검토 및 승인 대기

iOS (App Store)

  1. 애플 개발자 계정 준비
  2. 앱 ID, 인증서, 프로비저닝 프로파일 생성
  3. Xcode 프로젝트 설정
  4. 앱 빌드 및 아카이빙
  5. App Store Connect에 앱 설정
  6. 앱 정보 및 스크린샷 작성
  7. 빌드 업로드
  8. 심사 정보 제공 및 제출
  9. 심사 및 출시

이러한 단계들을 따라 Flutter 앱을 성공적으로 양대 앱 스토어에 출시할 수 있습니다. 각 플랫폼의 정책과 요구사항은 시간에 따라 변경될 수 있으므로, 출시 전 최신 가이드라인을 확인하는 것이 중요합니다.

results matching ""

    No results matching ""