ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy
.final bannerAd = BannerAd(
size: AdSize.banner,
adUnitId: 'ca-app-pub-3940256099942544/6300978111',
listener: BannerAdListener(),
request: AdRequest(),
)..load();
ca-app-pub-3940256099942544/6300978111
) 필수[1][28].AdMob 계정 설정
AdMob 웹사이트에서 계정을 생성하고 Android 및 iOS 앱을 등록합니다. 각 플랫폼에 맞는 App ID를 획득해야 합니다. App ID는 ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy
형태를 가집니다.
플랫폼별 설정
android/app/src/main/AndroidManifest.xml
파일을 열고 <application> 태그 내에 <meta-data> 태그를 추가하여 AdMob App ID를 설정합니다. <manifest>
<application>
...
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-################~##########</string>
#에는 자신이 가지고 있는 펍코드 숫자로 넣어주세요.
플러그인 추가
google_mobile_ads 플러그인을 Flutter 프로젝트에 추가합니다. 터미널에서 다음 명령어를 실행합니다.
flutter pub add google_mobile_ads
SDK 초기화
lib/main.dart 파일에서 Mobile Ads SDK를 초기화합니다. MobileAds.instance.initialize() 메서드를 호출하여 SDK를 초기화하고, 초기화가 완료될 때까지 기다립니다.
import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(MyApp());
}
광고 유형 구현
final bannerAd = BannerAd(
size: AdSize.banner,
adUnitId: 'ca-app-pub-3940256099942544/6300978111', // 테스트 광고 단위 ID
listener: BannerAdListener(),
request: AdRequest(),
)..load();
Android (Google Play)
1. 키 저장소 생성: keytool 명령어를 사용하여 앱 서명에 필요한 .jks 키 저장소 파일을 생성합니다.
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
2. 빌드 설정: android/key.properties 파일을 생성하고 키 저장소 정보를 입력합니다.
storePassword=your_store_password
keyPassword=your_key_password
keyAlias=key
storeFile=../key.jks
‘android/app/build.gradle’파일에서 서명 구성을 추가합니다.
android {
...
signingConfigs {
release {
storeFile file("key.jks")
storePassword "your_store_password"
keyAlias "key"
keyPassword "your_key_password"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
3. AAB 생성: flutter build appbundle –release 명령어를 실행하여 Android App Bundle(.aab) 파일을 생성합니다.
4. Play Console 업로드: Google Play Console에 접속하여 내부 테스트 트랙에 .aab 파일을 업로드하고, 앱을 프로덕션으로 전환합니다.
iOS (App Store)
매체 연동 (Mediation)
AdMob 외에 Facebook Audience Network, Unity Ads 등 여러 광고 네트워크를 통합하여 광고 수익을 극대화할 수 있습니다. mediation 패키지를 사용하면 여러 광고 소스를 관리하고 최적화할 수 있습니다.
테스트 광고 사용
개발 단계에서는 실제 광고 대신 AdMob에서 제공하는 테스트 광고 단위 ID(ca-app-pub-3940256099942544/6300978111
)를 사용해야 합니다.
규정 준수
단계 | 내용 |
---|---|
1. AdMob 계정 설정 | AdMob 계정 생성 및 앱 등록, Android/iOS 앱 ID 획득 |
2. 플랫폼별 설정 | Android: AndroidManifest.xml에 <meta-data> 태그로 App ID 추가 iOS: Info.plist에 GADApplicationIdentifier 키로 App ID 설정 |
3. 플러그인 추가 | google_mobile_ads 플러그인 설치 |
4. SDK 초기화 | main.dart 에서 MobileAds.instance.initialize() 호출 |
5. 광고 유형 구현 | 배너 광고, 전면 광고, 보상형 광고 등 구현 |
6. Android 배포 준비 | 키 저장소 생성, key.properties 파일 설정, build.gradle 수정, AAB 파일 생성 |
7. iOS 배포 준비 | 번들 ID 등록, Xcode 설정, IPA 파일 빌드 |
8. 앱 스토어 업로드 | Android: Google Play Console에 AAB 파일 업로드, iOS: Apple Transporter를 사용하여 IPA 파일 업로드 |
9. 고급 전략 | 매체 연동 (Mediation), 테스트 광고 사용, 규정 준수 |
10. 대체 광고 플랫폼 | AppLovin, Unity Ads, IronSource 등 |
11. 주의사항 | 키 저장소 관리, 광고 밀도 제어, AdMob 정책 준수 |
플러터에서 광고를 삽입하는 과정에서 발생할 수 있는 문제는 여러 가지가 있습니다. 다음은 일반적으로 보고되는 문제와 그 해결 방법입니다.
1. 광고 초기화 오류
2. 광고 ID 설정 오류
3. 광고 로딩 실패
4. 정책 위반
5. 테스트 광고 문제
6. 플랫폼별 문제
이러한 문제들은 대부분 초기 설정이나 코드 배치에서 발생하므로, 문서화된 가이드를 참고하여 정확하게 설정하는 것이 중요합니다.
잇 테이크 투 게임 플레이 후 리뷰를 작성할지 말지 고민하다가 작성하지 않았습니다. 하지만, 이번 잇…
플러터는 구글에서 2017년 5월 출시된 Skia/Impeller를 렌더링 엔진으로 사용하는 모바일/웹/데스크톱 크로스플랫폼입니다. 하나의 코드베이스로 다양한 운영체제…
컴투스가 출시한 야구 매니지먼트 게임 'OOTP26'은 1999년 첫 출시 이후 매년 업데이트되는 시리즈의 최신작으로, KBO…
AMD Ryzen 9 9950X3D는 고성능 데스크톱 프로세서 분야에서 중요한 진전을 보여줍니다. 이 프로세서는 AMD의 최신…
RX9070, RTX5080 성능 비교 언더볼팅 효과:AMD RX9070 XT는 공격적인 언더볼팅(-170mV)을 통해 4K 울트라 설정에서 사이버펑크…
리니지M 이후의 새로운 선택지2025년 현재 모바일 MMORPG 시장에서 라그나로크M은 클래식한 감성과 현대적인 시스템을 결합한 대표작으로…