플러터:구글 AdMob
보이기
- 플러터:개요
- 플러터:실행
- 플러터:개념 잡기
- 권한 사용
- 위젯
- 플러터:DB연결
- 플러터:Firebase(미완)
- 플러터:MySQL(미완)
- 디자인
- 플러터:배포
- 플러터:배포(안드로이드)(미완)
- 플러터:참고자료
- 플러터:위젯
- 플러터:구글 AdMob(미완)
- 플러터:라이브러리
플러터 앱에 구글 광고 삽입과 관련한 문서.
| 과정 | 설명 | 비고 |
|---|---|---|
| Google AdMob 계정 생성 |
|
|
| 패키지 추가 | 플러터에서는 google_mobile_ads 패키지를 사용한다.
|
dependencies:
flutter:
sdk: flutter
google_mobile_ads: ^5.0.0
flutter pub get
|
| 플랫폼 | 설명 | 비고 |
|---|---|---|
| Android | android/app/src/main/AndroidManifest.xml에 다음 메타데이터를 추가한다.<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
|
|
| iOS | ios/Runner/Info.plist에 App ID를 추가한다.<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
|
앱 시작 시 광고 SDK를 초기화해야 한다.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await MobileAds.instance.initialize();
runApp(const MyApp());
}
BannerAd bannerAd = BannerAd(
size: AdSize.banner,
adUnitId: 'ca-app-pub-3940256099942544/6300978111', // 테스트 ID
listener: BannerAdListener(),
request: const AdRequest(),
);
bannerAd.load();
SizedBox(
width: bannerAd.size.width.toDouble(),
height: bannerAd.size.height.toDouble(),
child: AdWidget(ad: bannerAd),
)
InterstitialAd.load(
adUnitId: 'ca-app-pub-3940256099942544/1033173712',
request: const AdRequest(),
adLoadCallback: InterstitialAdLoadCallback(
onAdLoaded: (ad) {
ad.show();
},
onAdFailedToLoad: (error) {},
),
);
RewardedAd.load(
adUnitId: 'ca-app-pub-3940256099942544/5224354917',
request: const AdRequest(),
rewardedAdLoadCallback: RewardedAdLoadCallback(
onAdLoaded: (ad) {
ad.show(
onUserEarnedReward: (ad, reward) {
// 보상 처리
},
);
},
onAdFailedToLoad: (error) {},
),
);
개발 중에는 반드시 테스트 광고 ID를 사용해야 한다. 실제 광고 ID를 테스트 중 사용하면 계정이 정지될 수 있다.
- 광고 클릭을 유도하는 UI는 정책 위반이다.
- 광고를 과도하게 표시하면 사용자 경험이 크게 저하된다.
- 앱 출시 전 반드시 실제 광고 ID로 교체한다.