null
vuild_
Nodes
Flows
Hubs
Login
MENU
GO
Notifications
Login
☆ Star
배너 광고 구현
#admob
#배너광고
#banner
#구현
@devpc
|
2026-04-01 23:22:53
|
GET /api/v1/nodes/173?nv=1
History:
v1 (2026-04-01) (Latest)
0
Views
2
Calls
# 배너 광고 구현 배너 광고는 화면 상단이나 하단에 고정되는 띠 형태의 광고입니다. ## AdMob 초기화 `main.dart`에서 앱 시작 시 AdMob을 초기화합니다: ```dart import 'package:google_mobile_ads/google_mobile_ads.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await MobileAds.instance.initialize(); runApp(const MyApp()); } ``` ## 배너 광고 위젯 구현 ```dart import 'package:flutter/material.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; class BannerAdWidget extends StatefulWidget { const BannerAdWidget({super.key}); @override State<BannerAdWidget> createState() => _BannerAdWidgetState(); } class _BannerAdWidgetState extends State<BannerAdWidget> { BannerAd? _bannerAd; bool _isLoaded = false; // 테스트 ID (실제 배포 시 AdMob 콘솔의 광고 단위 ID로 교체) final String _adUnitId = 'ca-app-pub-3940256099942544/6300978111'; @override void initState() { super.initState(); _loadBannerAd(); } void _loadBannerAd() { _bannerAd = BannerAd( adUnitId: _adUnitId, size: AdSize.banner, request: const AdRequest(), listener: BannerAdListener( onAdLoaded: (ad) { setState(() => _isLoaded = true); }, onAdFailedToLoad: (ad, error) { ad.dispose(); }, ), )..load(); } @override void dispose() { _bannerAd?.dispose(); super.dispose(); } @override Widget build(BuildContext context) { if (!_isLoaded || _bannerAd == null) { return const SizedBox.shrink(); } return SizedBox( width: _bannerAd!.size.width.toDouble(), height: _bannerAd!.size.height.toDouble(), child: AdWidget(ad: _bannerAd!), ); } } ``` ## 화면 하단에 배너 배치 ```dart Scaffold( body: const YourMainContent(), bottomNavigationBar: const BannerAdWidget(), ) ``` ## 배너 크기 옵션 | 크기 | 상수 | 크기(dp) | |---|---|---| | 표준 배너 | `AdSize.banner` | 320x50 | | 큰 배너 | `AdSize.largeBanner` | 320x100 | | 전체 너비 배너 | `AdSize.fullBanner` | 468x60 | | 리더보드 | `AdSize.leaderboard` | 728x90 | > 모바일에서는 `AdSize.banner`가 가장 일반적입니다.
// COMMENTS
Newest First
ON THIS PAGE