iOS 심사 제출은 완료했고, Android만 끝내면 되는 상황인데 자꾸 위 오류 뜨면서 앱 제출을 할 수 없는 문제가 반복되더라.
다른 앱들에서는 없던 문제인데, 좀 찾아보니까 이미 한참 옛날부터 있던 이슈더라.
광고를 사용할 경우 플레이 콘솔에서 광고를 사용한다고 체크해주면 되고, 아닌 경우 광고ID를 사용하는 부분을 제거해주면 된다.
대체 뭐가 원인인고 했더니, Firebase 패키지 추가하면서 Analytics까지 잘못 추가한 게 원인이었다.
하여간 위 문제가 표시될 때는 아래 방법들로 해결할 수 있다.
1. 광고 ID를 사용하지 않는다면
1-a. 불필요한 패키지가 광고 ID를 사용 중이라면 삭제
우리의 경우에 해당된다.
Firebase 패키지를 추가하면서 사용하지 않는 Analytics까지 잘못 추가한게 원인이었다.
이처럼 내부에서 광고 ID를 사용하는 패키지인데 실제 앱에서는 사용하지 않고 있다면 삭제해주면 된다.
1-b. AndroidManifest에 광고 ID 사용하지 않는다고 명시
우리는 위의 방법만으로 해결돼서 추가 시도해보진 않았는데,
```AndroidManifest.xml``` 파일에서 광고 ID 권한을 사용하지 않는다고 명시하는 방법도 있다고 한다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
...
<uses-permission
android:name="com.google.android.gms.permission.AD_ID"
tools:node="remove" />
...
2. 광고 ID를 사용한다면
광고 ID라고해서 꼭 인앱 광고를 붙일 때만 사용하는 건 아니다.
- 광고 추적 및 맞춤 광고
- 앱 분석 및 마케팅 (Firebase Analytics 등)
- 앱 설치 및 캠페인 효과 분석
- 사용자 행동 기반 추천 시스템 (맞춤 광고처럼)
- 등등
따라서 위와 관련된 기능을 사용한다면 스토어 제출 시에도 광고 ID를 사용한다고 설정해야 한다.
2-a. 플레이 스토어에서 광고를 사용한다고 제출
모니터링 및 개선 → 정책 및 프로그램 → 앱 콘텐츠
위 오류를 맞이한 사람이라면 스크린샷과 동일하게 사용하지 않는다고 지정했을 것이다.
```예```로 변경하고 설명 찬찬히 잘 읽어본 뒤 해당하는 항목 체크하면 되겠다.
+ Q. 내부 테스트 업로드 시에는 이 부분이 검토되지 않나요?
A. 네, Google Play 내부 테스트(Internal Testing)에서는 광고 ID 사용 여부가 자동으로 검토되지 않습니다.
광고 ID 사용 여부 검토는 일반적으로 ‘프로덕션(Production)’ 또는 ‘클로즈드 테스트(Closed Testing)’ 단계에서 이루어집니다.
+ 근데도 계속 같은 오류 발생합니다.
어떻게 보면 이 포스팅을 작성하게 된 제일 큰 이유다.
이론상 제대로 돼야만 하는 상황인데 안 되니, 도대체 원인이 뭔가 싶어 이거저거 바꿔가며 빌드만 수 번을 하다가 한 가지 의심스러운 부분이 퍼뜩 스쳤다.
Q. 이전에 올린 빌드가 영향을 미칠 수도 있나요?
A. 네, 이전에 올린 빌드가 영향을 미칠 가능성이 있습니다. Google Play에서는 앱을 분석할 때 기존에 업로드된 모든 버전을 포함하여 검토하기 때문입니다.
테스트 및 출시 → App Bundle 탐색기
위 경로에서 지금까지 올린 앱 번들과 각 번들의 활성화 상태를 확인할 수 있다.
우리의 경우 1.0.0(2) 빌드에서 문제가 발생했고, 1.0.0(4) 버전부터 나름대로 해결 방안을 적용한 빌드를 계속 업로드 하고 있던 차였다.
다만 여기서 문제 발생의 원인이 된 부분은
1.0.0(2)는 내부 테스트 제출 후 프로덕션으로 전환했고, 그 외 버전은 바로 프로덕션으로 제출했다는 점이었다.
= 프로덕션으로 새 버전을 제출하면서 이전 번들이 계속 비활성화 되는 와중에도 1.0.0(2) 번들은 계속 내부 테스트 버전으로 활성화 돼있음
1.0.0(11) 빌드를 내부 테스트부터 차근차근 올려 1.0.0(2)도 비활성화 되도록 했더니 경고 문구가 깔끔하게 사라졌다.
어제오늘의 삽질+1 개발이란 삽질의 연속🥲
<도움 받은 링크들>
'개발노트 > Flutter' 카테고리의 다른 글
Invalid Executable. The executable ~ contains bitcode. (0) | 2025.02.05 |
---|---|
Flutter 특정 버전으로 업데이트 하기 (0) | 2025.01.16 |
Flutter에서 iOS TableView Section Header 같은 UI 구현하기 (0) | 2024.11.30 |
MVVM Clean Architecture (+Provider) (2) | 2024.11.26 |
Flutter에서 Firebase Authentication으로 이메일 로그인 구현하기 (0) | 2024.11.24 |