<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=%ED%94%8C%EB%9F%AC%ED%84%B0%3A%EA%B5%AC%EA%B8%80_AdMob</id>
	<title>플러터:구글 AdMob - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=%ED%94%8C%EB%9F%AC%ED%84%B0%3A%EA%B5%AC%EA%B8%80_AdMob"/>
	<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=%ED%94%8C%EB%9F%AC%ED%84%B0:%EA%B5%AC%EA%B8%80_AdMob&amp;action=history"/>
	<updated>2026-04-21T18:32:42Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://smwiki.info/index.php?title=%ED%94%8C%EB%9F%AC%ED%84%B0:%EA%B5%AC%EA%B8%80_AdMob&amp;diff=10908&amp;oldid=prev</id>
		<title>Sam: 새 문서: {{플러터}}  == 개요 == 플러터 앱에 구글 광고 삽입과 관련한 문서.  = 사전 준비 = {| class=&quot;wikitable&quot; !과정 !설명 !비고 |- |Google AdMob 계정 생성 | * https://admob.google.com 에 접속한다.  * 구글 계정으로 로그인 후 AdMob 계정을 생성한다. * 앱을 등록하고 광고 단위 ID를 생성한다. | |- |패키지 추가 |플러터에서는 &lt;code&gt;google_mobile_ads&lt;/code&gt; 패키지를 사용한다. |&lt;syntaxhighlight lang=&quot;yaml&quot;&gt;...</title>
		<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=%ED%94%8C%EB%9F%AC%ED%84%B0:%EA%B5%AC%EA%B8%80_AdMob&amp;diff=10908&amp;oldid=prev"/>
		<updated>2026-01-09T12:10:33Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{플러터}}  == 개요 == 플러터 앱에 구글 광고 삽입과 관련한 문서.  = 사전 준비 = {| class=&amp;quot;wikitable&amp;quot; !과정 !설명 !비고 |- |Google AdMob 계정 생성 | * https://admob.google.com 에 접속한다.  * 구글 계정으로 로그인 후 AdMob 계정을 생성한다. * 앱을 등록하고 광고 단위 ID를 생성한다. | |- |패키지 추가 |플러터에서는 &amp;lt;code&amp;gt;google_mobile_ads&amp;lt;/code&amp;gt; 패키지를 사용한다. |&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{플러터}}&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
플러터 앱에 구글 광고 삽입과 관련한 문서.&lt;br /&gt;
&lt;br /&gt;
= 사전 준비 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!과정&lt;br /&gt;
!설명&lt;br /&gt;
!비고&lt;br /&gt;
|-&lt;br /&gt;
|Google AdMob 계정 생성&lt;br /&gt;
|&lt;br /&gt;
* https://admob.google.com 에 접속한다.&lt;br /&gt;
&lt;br /&gt;
* 구글 계정으로 로그인 후 AdMob 계정을 생성한다.&lt;br /&gt;
* 앱을 등록하고 광고 단위 ID를 생성한다.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|패키지 추가&lt;br /&gt;
|플러터에서는 &amp;lt;code&amp;gt;google_mobile_ads&amp;lt;/code&amp;gt; 패키지를 사용한다.&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
dependencies:&lt;br /&gt;
  flutter:&lt;br /&gt;
    sdk: flutter&lt;br /&gt;
  google_mobile_ads: ^5.0.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flutter pub get&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 플랫폼별 설정 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!플랫폼&lt;br /&gt;
!설명&lt;br /&gt;
!비고&lt;br /&gt;
|-&lt;br /&gt;
|Android&lt;br /&gt;
|&amp;lt;code&amp;gt;android/app/src/main/AndroidManifest.xml&amp;lt;/code&amp;gt;에 다음 메타데이터를 추가한다.&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta-data&lt;br /&gt;
    android:name=&amp;quot;com.google.android.gms.ads.APPLICATION_ID&amp;quot;&lt;br /&gt;
    android:value=&amp;quot;ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|iOS&lt;br /&gt;
|&amp;lt;code&amp;gt;ios/Runner/Info.plist&amp;lt;/code&amp;gt;에 App ID를 추가한다.&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;key&amp;gt;GADApplicationIdentifier&amp;lt;/key&amp;gt;&lt;br /&gt;
&amp;lt;string&amp;gt;ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 넣기 =&lt;br /&gt;
&lt;br /&gt;
== 광고 초기화 ==&lt;br /&gt;
앱 시작 시 광고 SDK를 초기화해야 한다.&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
void main() async {&lt;br /&gt;
  WidgetsFlutterBinding.ensureInitialized();&lt;br /&gt;
  await MobileAds.instance.initialize();&lt;br /&gt;
  runApp(const MyApp());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 배너 광고 ==&lt;br /&gt;
&lt;br /&gt;
=== 배너 광고 생성 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
BannerAd bannerAd = BannerAd(&lt;br /&gt;
  size: AdSize.banner,&lt;br /&gt;
  adUnitId: &amp;#039;ca-app-pub-3940256099942544/6300978111&amp;#039;, // 테스트 ID&lt;br /&gt;
  listener: BannerAdListener(),&lt;br /&gt;
  request: const AdRequest(),&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 광고 로드 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
bannerAd.load();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 화면에 표시 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
SizedBox(&lt;br /&gt;
  width: bannerAd.size.width.toDouble(),&lt;br /&gt;
  height: bannerAd.size.height.toDouble(),&lt;br /&gt;
  child: AdWidget(ad: bannerAd),&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 전면 광고 ==&lt;br /&gt;
&lt;br /&gt;
=== 전면 광고 로드 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
InterstitialAd.load(&lt;br /&gt;
  adUnitId: &amp;#039;ca-app-pub-3940256099942544/1033173712&amp;#039;,&lt;br /&gt;
  request: const AdRequest(),&lt;br /&gt;
  adLoadCallback: InterstitialAdLoadCallback(&lt;br /&gt;
    onAdLoaded: (ad) {&lt;br /&gt;
      ad.show();&lt;br /&gt;
    },&lt;br /&gt;
    onAdFailedToLoad: (error) {},&lt;br /&gt;
  ),&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 보상형 광고 ==&lt;br /&gt;
&lt;br /&gt;
=== 보상형 광고 예제 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dart&amp;quot;&amp;gt;&lt;br /&gt;
RewardedAd.load(&lt;br /&gt;
  adUnitId: &amp;#039;ca-app-pub-3940256099942544/5224354917&amp;#039;,&lt;br /&gt;
  request: const AdRequest(),&lt;br /&gt;
  rewardedAdLoadCallback: RewardedAdLoadCallback(&lt;br /&gt;
    onAdLoaded: (ad) {&lt;br /&gt;
      ad.show(&lt;br /&gt;
        onUserEarnedReward: (ad, reward) {&lt;br /&gt;
          // 보상 처리&lt;br /&gt;
        },&lt;br /&gt;
      );&lt;br /&gt;
    },&lt;br /&gt;
    onAdFailedToLoad: (error) {},&lt;br /&gt;
  ),&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 테스트 광고 ==&lt;br /&gt;
개발 중에는 반드시 &amp;#039;&amp;#039;&amp;#039;테스트 광고 ID&amp;#039;&amp;#039;&amp;#039;를 사용해야 한다.  실제 광고 ID를 테스트 중 사용하면 계정이 정지될 수 있다.&lt;br /&gt;
&lt;br /&gt;
== 주의사항 ==&lt;br /&gt;
&lt;br /&gt;
* 광고 클릭을 유도하는 UI는 정책 위반이다.&lt;br /&gt;
* 광고를 과도하게 표시하면 사용자 경험이 크게 저하된다.&lt;br /&gt;
* 앱 출시 전 반드시 실제 광고 ID로 교체한다.&lt;br /&gt;
&lt;br /&gt;
== 참고 자료 ==&lt;br /&gt;
&lt;br /&gt;
* https://pub.dev/packages/google_mobile_ads&lt;br /&gt;
* https://developers.google.com/admob/flutter&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
</feed>