모든것에 도전하라~~~

홀로서기에 정답은 없다. 최선만이 있을 뿐이다..

직접만든 여행지도 방방곡곡 자세히보기

프로그램 개발/앱 출시

구글 앱 출시 절차와 비공개테스트

bluelegend 2024. 11. 28. 17:59

구글 플레이스토어에 '여행친구'라는 앱을 출시하면서 앱 출시 절차와 비공개테스트에 대해 간략히 적어볼까 한다.

여행친구 앱: https://play.google.com/store/apps/details?id=net.bluelegend.tourfriend

 

1. Google Play 개발자 계정 등록

  • https://play.google.com/console
    • Google Play Console에 접속하여 계정을 생성
      • 약 48시간 내에 계정이 활성화
        • 1회성 25달러
  • 본인 확인
    • jpg, pdf 가능
      • 주민등록등본: 아파트 관리비 명세서를 2번 제출했다가 빠꾸맞고 등본제출해서 패스함
      • 등본 제출시 거절당하는 경우도 있음(구글 맘대로~~)
  • 전화번호
    • +8210xxxxxxxx

2.앱 출시 준비

  • 출시 버전을 구성하고 빌드하고 테스트
  • 준비
    • 앱 빌드 파일 (.apk 또는 .aab 파일)
      • Android App Bundle (.aab) 형식을 권장
    • 앱 아이콘
      • 512x512 크기의 고해상도 아이콘 (32비트 PNG 형식, 투명도 없음)
      • 로고 만들어주는 사이트를이용하면  편리
    • 스크린샷
      • 각 기기(폰, 태블릿 등)에서 최소한 하나의 스크린샷
      • 안내된 사이즈만 맞으면 되는줄 알았는데 안올라갈때는 다른 사이즈로 올려야 함.
    • 앱 설명
      • 앱에 대한 설명
    • 앱 카테고리 및 태그
      • 앱이 속한 카테고리를 선택하고, 관련 태그를 설정
    • 앱 개인정보처리방침 URL
      • 사용자 데이터를 수집하는 앱이라면, 개인정보처리방침을 기재
      • 예전에는 개인정보 포털에서 개인정보처리방침 만들수 있었으나  현재는 안됨
      • 다른 사이트나 다른 앱을 참고해서 개인정보처리방침을 만들면 통과되기 쉬움
  • 등록
    • Google Play Console에 로그인하여 '앱 만들기'를 클릭
    • 앱의 기본 정보를 입력
      • 앱 이름, 설명, 카테고리, 앱 아이콘 및 스크린샷 등
    • App Content
      • 앱의 내용에 대한 정보(연령 제한, 콘텐츠 등급, 개인정보처리방침 등)를 입력

  • 버전 지정 (개발자가 아니면 이 부분은 건너뛰고, 제일아래 3.테스트로 가시길)
  • 앱 서명 (App Signing)
    • 자체 서명
      • 개인 키를 사용(구글 콘솔에서 생성)
    • Google Play App Signing
      • Google의 앱 서명 서비스를 사용하는 것이 더 권장
    • APK 또는 Android App Bundle에 서명 설정
      • 서명 설정
        • 키스토어 생성
          • keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
            • my-release-key.jks 파일이 생성
              • C:\Users\TJ-BU-702-P25
            설명
            • -keystore %userprofile%\upload-keystore.jks
              • 사용자 폴더에 upload-keystore.jks 이름의 키스토어 파일을 생성한다.
              • 파일 이름은 사용자가 임의로 정할 수 있다.
            • -storetype JKS
              • 키 스토어 타입을 JKS로 지정한다. 자바9에서는 JKS를 필요로 하기 때문에 사용한다.
              • 기본값은 PKS12이다.
            • -keyalg RSA -keysize 2048 -validity 10000
              • 2048비트 RSA 키로 10000일 동안 유효한 키를 만든다
            • -alias
              • 키 스토어의 별칭을 지정
            입력 문구
            • Enter keystore password :
              • 키 저장소 비밀번호 입력
        • 키스토어 속성 파일 생성
          • 프로젝트 폴더 내에 키 스토어 파일을 이동
          • android 하위 폴더에 ' key.properties ' 의 이름을 가진 파일을 하나 생성
            • storePassword=bluelegend
              keyPassword=bluelegend
              keyAlias=my-key-alias
              storeFile=../../my-release-key.jks
            • 사용자 홈디렉토리
              • storeFile=.~/my-release-key.jks
      • 그레이들에 앱 서명 등록하기
        (자동 서명 등록하기)
        • android > app > build.gradle
          • 앱 버전 설정
            •    defaultConfig {
                     // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
                     applicationId = "net.bluelegend.tripbolgguri"
                     // You can update the following values to match your application needs.
                     // For more information, see: https://flutter.dev/to/review-gradle-config.
                     minSdk = flutter.minSdkVersion
                     targetSdk = flutter.targetSdkVersion
              //        versionCode = flutter.versionCode
              //        versionName = flutter.versionName
                     versionCode = 1    // 앱의 버전 코드: 앱이 업데이트 될때마다 증가
                     versionName = "1.0" // 사용자에게 보여지는 버전 이름
                 }
          • 서명구성 추가
            •   def keystoreProperties = new Properties()
                def keystorePropertiesFile = rootProject.file('key.properties')
                if (keystorePropertiesFile.exists()) {
                    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
                }

                android {
                      ...
                }
          • buildTypes 부분
            • // 기존 빌드 타입 설정
              //    buildTypes {
              //        release {
              //            // TODO: Add your own signing config for the release build.
              //            // Signing with the debug keys for now, so `flutter run --release` works.
              //            signingConfig = signingConfigs.debug
              //        }
              //    }
              // 변경된 빌드 타입 설정
                 signingConfigs {
                     release {
                         keyAlias keystoreProperties['keyAlias']
                         keyPassword keystoreProperties['keyPassword']
                         storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
                         storePassword keystoreProperties['storePassword']
                     }
                 }
                 buildTypes {
                     release {
                         signingConfig signingConfigs.release
                     }
                 }
        • 앱 서명이 적용되지 않는다면
          • flutter clean
      • 앱 번들 빌드
        • aab로 만들기
          • flutter build appbundle
      • 릴리스 빌드 생성:
        • flutter build apk
      • X
        • 키스토어 설정
          • android/app 디렉토리의 build.gradle
            • android {
                 ...
                 signingConfigs {
                     release {
                         keyAlias 'my-key-alias'
                         keyPassword 'your-key-password'
                         storeFile file('path/to/your/my-release-key.jks')
                         storePassword 'your-store-password'
                     }
                 }
                 buildTypes {
                     release {
                         signingConfig signingConfigs.release
                     }
                 }
              }
  • 업로드
  • 가격 및 배포
    • 유료인지 무료인지 선택
      • 한 번 무료로 설정한 앱은 나중에 유료로 변경할 수 없음
    • 국가 선택
      • 앱을 배포할 국가 및 지역을 설정
    • 테스트 사용자 그룹 설정
      • 앱을 공개적으로 배포하기 전에 베타 테스터 또는 알파 테스터에게 먼저 앱 제공 가능
  • 앱 검토 및 배포
    • Google에서 앱을 검토
      • 몇 시간에서 며칠
        • 일주일 이내
          • 변경사항 삭제하면 오래 걸림
  • 앱 관리
    • Google Play Console에서 앱 업데이트를 관리
    • 앱의 통계, 다운로드 수, 평가 및 리뷰 등을 지속적으로 확인하고, 필요한 경우 업데이트를 통해 앱을 개선

3. 테스트 : 비공개테스트 후에 프로덕션으로 진행됨

  • 내부 테스트: 선택사항
    • 신뢰할 수 있는 소규모 테스터 그룹에 빌드를 배포
  • 비공개테스트: 필수
    • 개발자가 관리하는 광범위한 사용자 그룹과 앱을 공유
    • 테스터 20명 이상이 테스터로 신청하고 14일간 테스트를 진행하는 것
    • 주의사항
      • 에뮬레이터 사용시 거절이나 추가테스트를 요청받을 수 있음- 구글 정책이 수시로 변경될 수 있음
      • 안정적인 통과를 위해 가능한 많은 테스트 계정 등록 및 설치 필요
      • 14일 테스트 동안 실기기에서 추가 실행 필요

       ※ 비공개테스트 테스터 모집 및 진행이 번거롭네요.

         (대행: https://bluelegend.tistory.com/1 )

  • 공개 테스트: 선택사항
    • 테스트 버전을 Google Play에 표시
    • 프로덕션 액세스 권한이 있어야 공개 테스트 사용 가능
  • 프로덕션 액세스 신청
    • 비공개 테스트 후 비공개 테스트 정보, 앱 정보, 프로덕션 준비와 같이 구글에서 프로덕션 배포를 위해 제공해야 하는 일종의 설문 
    • 사용자에게 앱을 제공
    • 프로덕션 액세스 권한을 신청하려면 20명 이상의 테스터가 비공개 테스트에 참여하겠다고 선택해야 하고 이 테스터들은 최근 14일 동안 연속적으로 비공개 테스트에 참여하겠다고 선택한 상태여야 함

반응형