광고·실험

Flutter 사주앱에 넣은 배너·전면 광고, AdMob 연결과 확인

첫 사주앱에 배너와 전면 광고를 넣었다. Flutter의 앱 ID와 광고 단위 ID, 테스트 광고, app-ads.txt 인증을 구분해 정리했다.

첫 사주앱에는 AdMob의 배너와 전면 광고를 넣었다. Flutter로 웹과 앱을 함께 만들었고 안드로이드 앱은 스토어에 출시했다. 사용자를 데려오려고 돈을 쓴 Google Ads와 달리 AdMob은 앱 안에 광고를 보여주는 쪽이었다.

이번 글은 그 경험을 출발점으로 배너·전면 광고를 연결할 때 필요한 설정을 정리한 글이다. 아래 캡처는 Google 공식 문서 화면이다. 당시 앱의 광고 배치 화면이나 수익 보고서는 포함하지 않았다.

웹과 모바일 앱의 광고 처리를 나눈다

내 사주앱은 웹과 모바일 앱을 함께 만들었지만 Google Mobile Ads Flutter Plugin은 Android와 iOS용이다. 웹에 같은 코드를 그대로 붙이는 구조가 아니어서 모바일 앱 쪽 설정을 따로 처리해야 했다.

공식 설정 문서에서는 플러그인을 추가한 다음 플랫폼별 앱 ID를 넣고 SDK를 초기화하도록 안내한다. 여기서는 실제 출시한 Android 쪽부터 살펴본다.

앱 ID와 배너·전면 광고 단위 ID를 구분한다

AdMob에 앱을 등록하면 앱 ID가 생긴다. 배너와 전면 광고는 각각 그 형식에 맞는 광고 단위를 만든다. 배너를 요청하는 코드에는 배너 광고 단위 ID를, 전면 광고를 요청하는 코드에는 전면 광고 단위 ID를 넣는다.

구분 넣는 곳 확인할 점
AdMob 앱 ID AndroidManifest.xml의 APPLICATION_ID 설정 광고 단위 ID와 구분
배너 광고 단위 ID Flutter 배너 광고 요청의 adUnitId 배너용 단위인지 확인
전면 광고 단위 ID Flutter 전면 광고 요청의 adUnitId 전면 광고용 단위인지 확인

Android에서는 android/app/src/main/AndroidManifest.xml의 <application> 안에 앱 ID를 넣는다. 아래는 설정 위치를 보여주는 Google 공식 문서다.

AndroidManifest.xml에 AdMob 앱 ID를 추가하는 Google Mobile Ads Flutter 공식 설정 화면
AndroidManifest.xml에는 광고 단위 ID가 아니라 AdMob 앱 ID를 넣는다.

광고를 요청하기 전에는 SDK를 초기화한다.

MobileAds.instance.initialize();

이 한 줄로 배너나 전면 광고가 화면에 나타나는 것은 아니다. 선택한 형식의 광고를 별도로 요청하고 로드 결과에 맞춰 표시해야 한다. 전체 연결 순서는 Google Mobile Ads Flutter 설정에 나와 있다.

테스트 광고로 배너와 전면 광고를 각각 확인한다

개발 중에는 Google의 샘플 광고 단위를 쓰거나, 내 광고 단위에 테스트 기기를 등록해서 확인한다. 실제 광고를 눌러가며 동작을 시험하면 무효 활동으로 판단될 위험이 있다.

Flutter에서 Google 샘플 광고 단위나 테스트 기기를 사용하라고 안내하는 공식 문서
샘플 광고 단위를 쓰거나, 내 광고 단위를 쓸 기기를 테스트 기기로 등록한다.

아래는 Google이 제공하는 배너·전면 광고용 테스트 ID다. 당시 내 앱에서 발급받은 ID가 아니며, 사용하는 플랫폼과 광고 형식에 맞춰 고른다.

광고 형식 Android iOS
고정 크기 배너 ca-app-pub-3940256099942544/6300978111 ca-app-pub-3940256099942544/2934735716
앵커 적응형 배너 ca-app-pub-3940256099942544/9214589741 ca-app-pub-3940256099942544/2435281174
전면 광고 ca-app-pub-3940256099942544/1033173712 ca-app-pub-3940256099942544/4411468910

배너 종류는 구현에 맞춰 선택한다. 위 표의 두 종류를 모두 내 앱에 넣었다는 뜻은 아니다. 스토어에 배포할 때는 사용하는 샘플 ID를 내 광고 단위 ID로 바꾼다.

내 광고 단위로 시험할 때 에뮬레이터와 시뮬레이터는 테스트 기기로 자동 설정된다. 실제 휴대전화는 AdMob 화면이나 코드에서 테스트 기기로 등록한다. Google 광고에 테스트 광고 표시가 나오는지도 확인한다. 미디에이션을 쓴다면 각 광고 네트워크의 테스트 설정을 따로 확인해야 한다. 공식 테스트 광고 안내

광고를 붙인 뒤 앱의 동작도 살펴본다

다시 배너와 전면 광고를 붙인다면 아래 항목을 함께 확인하려 한다. 당시 오류를 재현한 결과가 아니라, 두 광고 형식을 시험할 때 쓸 점검표다.

확인할 상황 살펴볼 동작
배너가 표시될 때 입력창이나 버튼을 가리지 않는지, 광고 영역 밖으로 내용이 밀리지 않는지
전면 광고를 닫았을 때 이전 작업을 이어갈 수 있는지, 입력한 내용이나 결과가 남아 있는지
광고 로드에 실패했을 때 광고를 기다리느라 앱의 기본 기능까지 멈추지 않는지
화면을 나갔다 돌아올 때 같은 광고가 의도치 않게 겹치거나 다시 표시되지 않는지

app-ads.txt 인증과 앱 검토를 확인한다

스토어 등록정보에 개발자 웹사이트를 연결하고 해당 도메인의 루트에 app-ads.txt를 공개한다. 파일에는 AdMob이 제공하는 게시자 정보를 넣는다. 웹사이트의 AdSense에서 쓰는 ads.txt와는 파일 이름이 다르다.

app-ads.txt 파일로 AdMob 앱을 인증하는 절차를 설명하는 Google AdMob 고객센터 화면
app-ads.txt를 공개한 뒤 AdMob에서 앱 인증을 확인한다.

Google의 현재 안내에서는 파일을 공개한 뒤 AdMob에서 앱 인증을 요청한다. 인증 후에는 앱 준비 상태 검토가 이어진다. 파일 주소가 열리는지와 AdMob에서 인증·검토가 완료됐는지는 각각 확인할 항목이다. app-ads.txt로 앱 인증하기

내 첫 앱에는 배너와 전면 광고가 들어갔다. 다만 광고를 붙였다는 사실만으로 수익성을 판단할 수는 없다. 출시 후 기록의 인앱결제 0건과 AdMob 광고 수익도 구분해서 봐야 한다. 이 글에서는 수익 비교에 쓸 집행·정산 수치를 다루지 않았다.

확인한 공식 자료

마지막 출처 확인: 2026년 9월 21일