Kotlin

[Android] Firebase AdMob 광고 적용 방법

cob 2022. 11. 22. 17:09

 

 

Firebase 프로젝트가 생성되어 있어야 한다.

2022.11.21 - [Kotlin] - [Android] Firebase 프로젝트 생성 및 안드로이드 스튜디오 적용 방법

 


1. 애드몹 가입하기

애드몹 가입

  • [참여] → [AdMob] → [AdMob 가입] 클릭
  • 이후 본인 인증 화면에서 국가, 시간대, 결제 통화를 설정하고 약관의 동의합니다

 

1-1) 구글 계정 연동

구굴 계정 연결

  • 계정이 완료되었음을 확인하고 이메일 수신 여부를 모드 ‘아니요’로 설정

 

구굴 계정 연결 (2)

 

 


2. 애드몹 등록하기

2-1) 홈 → [시작하기] 클릭
2-2) 플랫 폼 [Android] 클릭 → 아직 앱스 토오에 올리지 않았으므로 [아니요] 선택
2-3) 앱 추가

애드몹 등록

  • 사용자 측정항목은 해제한다.

 

 


3. 광고 단위 추가하기 : 배너 광고

광고 단위 추가

3-1) 배너 광고 선택
3-2) 배너 단위 이름 설정

광고 생성

  • 광고 이름 지정

 

  • 앱 ID : 안드로이드에 광고를 붙일 때 필요하므로 따로 저장해준다.
  • 광고 단위 ID : 방금 만든 광고 단위를 앱에 적용할 때 필요하므로 이 또한 따로 저장해둔다.

 

하단 배너 광고가 추가되면 성공! 다른 광고(전면 등)도 같은 방법으로 생성한다.

 

 

 


4. 안드로이드 스튜디오 프로젝트에 애드몹  설정하기

애드몹 앱 ID는 애드몹 홈페이지에서 [앱] → [앱 설정] 메뉴에서 앱 ID 확인 가능

 

4-1)  AndroidManifest.xml 파일 수정

<application>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3001608230251687~2809831636" />
</application>
  • [app] → [manifests] → AndroidManifest.xml 파일 수정
  • <application> 태그 안에 <meta-data> 태그를 이용하여 복사한 애드몹 앱 ID를 넣어준다.

 

 

4-2) build.gradle(Module) 구글 모바일 광고 라이브러리 설치

dependencies {
	implementation 'com.google.android.gms:play-services-ads:20.4.0'
}

 

 

4-3) 광고를 보여줄 레이아웃 수정

<com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        ads:adSize="BANNER"   
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> // 테스트용 ID
    </com.google.android.gms.ads.AdView>
  • ads:adSize → 광고의 크기를 뜻합니다. 배너 크기로 지정
  • ads:adUnitId→ 광고 단위 ID를 뜻합니다. 광고 단위 ID는 구글 애드몹에서 확인할 수 있습니다.

 

애드몹에서 광고 단위 ID 확인

  • 테스트용 배너 광고 단위 ID를 adUnitId에 넣어주면 됩니다
앱을 제작하고 테스트할 때는 반드시 테스트 광고 ID를 사용해주세요. 애드몹에서 승인을 받지 않은 광고 단위 ID를 사용하면 앱 실행 시 광고가 보이지 않고, 승인을 받았더라도 테스트 시에 실제 광고 단위 ID를 사용하게 되면 계정 자체가 정지될 수 있습니다. 모든 테스트용 광고 단위는 아래 링크에서 확인할 수 있습니다
* 테스트 광고 단위
https://developers.google.com/admob/android/test-ads
  • 테스트용 배너 광고 단위 ID(2021년 11월 기준) : ca-app-pub-3940256099942544/6300978111
  • 정식 오픈 시에는 위에서 할당받은 광고 ID를 넣어준다.

 

광고 레이아웃

 

4-4) 액티비티에서 배너 광고 구현하기

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
				
				setBannerAds()
	}

		/**
     * 배너 광고 설정 함수
     */
    private fun setBannerAds() {
        MobileAds.initialize(this)          // 1) 광고 SDK 초기화
        val adRequest = AdRequest.Builder().build()   // 2)
        binding.adView.loadAd(adRequest)            // 3)
        
        // 4) 애드뷰 리스너 추가
        binding.adView.adListener = object : AdListener() {
            override fun onAdLoaded() {
                Log.d("ads log", "배너 광고가 로드되었습니다.") // 로그 출력
            }

            override fun onAdFailedToLoad(adError: LoadAdError) {
                Log.d("ads log", "배너 광고가 로드 시패했습니다. ${adError.responseInfo}")
            }

            override fun onAdOpened() {
                Log.d("ads log", "배너 광고를 열었습니다.")
                // 전면 에 광고가 오버레이 되었을 때
            }

            override fun onAdClicked() {
                Log.d("ads log", "배너 광고를 클랙했습니다.")
            }

            override fun onAdClosed() {
                Log.d("ads log", "배너 광고를 닫았습니다.")
            }
        }
    }
  1. 구글 모바일 광고 SDK를 초기화시킵니다.
  2. AdRequest 객체를 생성합니다. 이 객체에는 광고 요청에 대한 타겟팅 정보가 있으며 loadAd() 함수의 인수로 사용되게 됩니다.
  3. 광고를 애드뷰에 로드해줍니다.
  4. 애드뷰에 리스너를 추가해줍니다. 광고가 로드 이벤트, 클릭 이벤트, 열림 이벤트, 닫힘 이벤트 등을 콜백 함수를 통해 확인할 수 있습니다

 

 


5. 광고 사용지수 확인하기

https://console.firebase.google.com/

사용지수 확인

  • 위 사이트에 접속 → AirQuality 프로젝트 선택(해당 프로젝트 선택)
  • 애널리스틱스 → Dashboard를 클릭

 

 

 


6. 테스트 광고 대신 실제 광고 ID를 넣을 시

앱을 실행하면 배너 광고, 전면 광고 모두 제대로 보이지 않는다. 실제 광고를 사용할 수 있도록 구글 애드몹에서 승인을 받지 않았기 때문입니다, 승인 요청을 하려면 먼저 구글 플레이 스토어에 앱을 올려야 합니다.

 

2022.11.15 - [Kotlin] - [Android] 앱 배포(2) 구글 플레이 스토어 앱 출시 및 애드몹 광고 등록

 

반응형