내로남불앱-진짜 돈 버는 광고 심기(AdMob 연동 가이드)

드디어 앱이 스마트폰에서 실행됩니다! 이제 마지막 단계,
실제 수익을 발생시키는 광고(AdMob)를 넣을 차례입니다.


1️⃣ 구글 AdMob 가입 및 앱 등록

  1. AdMob 공식 사이트(https://admob.google.com) 접속
  2. 구글 계정으로 로그인
  3. 앱 등록
    • “앱 추가(Add App)” 클릭 → Android 선택
    • 앱이 이미 플레이스토어에 등록되어 있으면 ‘예’, 아니면 ‘아니오’ 선택
    • 앱 이름 입력
  4. 앱 등록 완료 후 광고 단위(Ad Unit) 생성
    • 전면 광고(Interstitial Ad) → 화면 전환 시 팝업
    • 배너 광고(Banner Ad) → 하단/상단 고정
  5. 광고 단위 ID 복사 → 나중에 앱 코드에 삽입

2️⃣ 안드로이드 프로젝트에 Google Mobile Ads SDK 추가

Android Studio에서 다음과 같이 설정합니다.

    1. Gradle(app) 파일 열기
    2. dependencies 섹션에 아래 추가
implementation 'com.google.android.gms:play-services-ads:22.3.0'
  1. Gradle Sync → 우측 상단 ‘Sync Now’ 클릭

3️⃣ AndroidManifest.xml 권한 추가

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

이미 인터넷 권한을 넣었다면 ACCESS_NETWORK_STATE만 추가하면 됩니다.


4️⃣ 배너 광고 삽입 (예시)

activity_main.xml을 열고 WebView 아래에 AdView 추가:

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx">
</com.google.android.gms.ads.AdView>

※ adUnitId는 AdMob에서 발급받은 자신의 ID로 교체


5️⃣ MainActivity.kt에서 광고 로드

import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.AdView

// onCreate 내부
MobileAds.initialize(this) {}
val adView: AdView = findViewById(R.id.adView)
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)

6️⃣ 전면 광고 삽입 (Interstitial Ad)

import com.google.android.gms.ads.interstitial.InterstitialAd
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback
import com.google.android.gms.ads.AdRequest

// 변수 선언
private var mInterstitialAd: InterstitialAd? = null

// onCreate 내부
val adRequest = AdRequest.Builder().build()
InterstitialAd.load(this, "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx", adRequest,
    object : InterstitialAdLoadCallback() {
        override fun onAdLoaded(ad: InterstitialAd) {
            mInterstitialAd = ad
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
            mInterstitialAd = null
        }
    }
)

// 필요 시 광고 보여주기
mInterstitialAd?.show(this)

※ adUnitId는 발급받은 전면 광고 ID로 교체


7️⃣ 테스트 광고로 먼저 확인

  • 실제 배포 전에는 테스트 광고 ID를 사용해 앱이 정상 작동하는지 확인
  • 광고가 뜨면 앱 배포 후 수익 광고로 전환

👨‍💻 멘토의 팁

  • 테스트 중에도 광고 클릭 금지! (정책 위반 시 계정 정지 가능)
  • 배너와 전면 광고 적절히 섞어 사용 → 사용자 경험 저해 최소화
  • 앱 업데이트 시 SDK 버전 주기적 확인 → 최신 버전 유지

이제 앱은 실제 수익이 발생하는 상용 앱으로 거듭났습니다.
축하드립니다! 🎉