Flutter AdMob 테스트 기기 등록 가이드(iOS)

아이폰에서 플러터로 작성된 앱을 테스트시 애드몹의 실제 광고가 아닌  "Test Ad" 라벨이 붙은 테스트 광고가 보이도록 하는 방법을 다루고 있습니다.

자기 광고를 실수로 클릭해도 정책위반이 되어 계정이 정지될 수 있으니 테스트 기기로 등록이 필수입니다.

최초작성 2026. 5. 2

.

.

Android는 AdMob 콘솔(설정 > 테스트 기기)에서 광고 ID(AAID)를 입력해 두면 해당 안드로이드폰에는 테스트 광고가 표시됩니다.

광고 ID는 안드로이드폰의 설정에서 확인이 가능합니다. 

.

.

하지만 아이폰에서는 다릅니다.   iOS 14.5부터 도입된 ATT(App Tracking Transparency) 때문에 IDFA를 애드몹 콘솔에 등록해도 테스트 광고가 제대로 표시안될 수 있습니다. 또한 IDFA는 아이폰 설정에서 확인도 안되며 앱을 제거하고 재설치할때마다 바뀔 수 있습니다.

.

  1) 사용자가 ATT 권한을 거부하면 IDFA가 모두 0으로 나온다

     → AdMob 콘솔에 IDFA를 등록해 둬도 0과는 매칭이 안 됨

  2) "광고 추적 제한"이 켜진 단말도 마찬가지로 IDFA가 0

  3) 시뮬레이터·일부 환경에선 IDFA 자체를 못 가져온다

  4) IDFA는 앱 삭제·재설치 시점이나 OS 정책에 따라 바뀔 수 있다

.

.

이런 이유로 Google Mobile Ads SDK는 iOS에서 IDFA와 무관한 별도의 "테스트 기기 해시 ID"를 만들어 콘솔에 출력해 주고,

그 값을 코드의 testDeviceIds 배열에 그대로 넣도록 안내합니다.

이 해시는 ATT 권한 상태와 관계없이 동작하기 때문에 가장 확실한 방법입니다. 

.

.

1단계. 앱을 한 번 실행해서 "테스트 기기 해시 ID" 얻기

.

먼저 등록 코드 없이 앱을 실행해서 광고가 한 번 떠야 합니다.

그러면 콘솔에 다음과 같은 줄이 출력됩니다.

    <Google> To get test ads on this device, set:
    GADMobileAds.sharedInstance().requestConfiguration
        .testDeviceIdentifiers = [ "여기에-해시-문자열" ]

.

.

큰따옴표 안의 값이 이 단말의 테스트 기기 해시 ID입니다. 복사해 둡니다.

.

주의할 점은 이 해시는 앱을 삭제 후 재설치하면 바뀔 수 있습니다. 바뀌면 위 로그를 다시 확인해서 갱신해야 합니다. 

이 값은 IDFA가 아니라 SDK가 만든 별도의 식별자입니다. 

.

.

2단계. main.dart 에 testDeviceIds 등록

.

main() 안에서 MobileAds.instance.initialize() 다음에 updateRequestConfiguration() 을 호출합니다. 

import 'package:google_mobile_ads/google_mobile_ads.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await MobileAds.instance.initialize();
  await MobileAds.instance.updateRequestConfiguration(
    RequestConfiguration(
      testDeviceIds: [
        // 1단계에서 콘솔에 찍힌 iOS 단말의 해시 ID
        'PASTE_YOUR_IOS_DEVICE_HASH_HERE',
      ],
    ),
  );

  runApp(const MyApp());
}

.

.

3단계. 정상 적용 확인

.

앱을 완전히 종료한 뒤 다시 빌드·실행합니다.

화면에 뜬 광고 위에 "Test Ad" 라벨이 보이면 성공입니다.

.

testDeviceIds에 등록된 단말에서만 테스트 광고가 나오고 일반 사용자에겐 정상 광고가 나가므로, 운영 빌드에 그대로 둬도 안전합니다.

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다