MEDIUMTEXT

안드로이드에서 admob을 이용하여 배너 광고 추가 하기

tweak 2024. 10. 15. 17:00
반응형

안드로이드 admob을 이용하여 게재할 수 있는 광고는 배너, 전면, 리워드, 네이티브 등 몇가지 형태가 있는데, 본 글에서는 가장 간단한 배너광고를 게재 하는 방법을 다룬다.
 
우선 광고를 게재 하기 위해서 play-services-ads를 의존성에 추가한다.
현재 최신버전은 23.4.0이다.
https://mvnrepository.com/artifact/com.google.android.gms/play-services-ads
 

implementation 'com.google.android.gms:play-services-ads:23.4.0'

 
우선 AndroidMenifest.xml에 앱 ID 를 추가해야 한다.
아래 코드와 같이 application 블럭 안에 meta-data로 앱 ID를 추가해야 한다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    
    ...
    
    
    <application
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX"/>
        
        ...
        
    </application>
    
    ...
    
</manifest>

 
자 그러면 앱 ID 는 어디서 어떻게 얻을 수 있을까? 
앱 ID 얻는 방법은 아래 글을 통해서 확인 가능하다.
https://updatedat.tistory.com/entry/admob%EC%97%90%EC%84%9C-%EC%95%B1-ID-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%95

admob에서 앱 ID 만드는 방법

admob을 통해서 안드로이드에 광고를 게재 하고자 한다면 우선 앱 ID를 생성해야 한다. 우선 앱 ID는 테스트 ID 가 없다. 즉, 테스트 목적으로 배너 광고를 넣고 싶어도 먼저 앱 ID가 필요하다. 먼저

tweaklab.kr

 
자 이제 layout파일에 광고를 추가한다. 
이번에는 광고 단위 ID(adUnitId)를 넣어줘야 하는데, 다행히 이건 테스트ID를 통해서 테스트 해볼 수 있다.
실제 개발을 하다보면 테스트 ID를 넣었다가 실제 광고 단위ID로 변경하거나 해야 해서 strings.xml 파일에 추가하여 @string 형태로 사용해도 괜찮다.

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/banner_ad_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="48dp"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/ad_unit_id" />

 
참고로 테스트 광고 단위 ID는 종류별로 아래와 같다.

  • 배너 광고: ca-app-pub-3940256099942544/6300978111
  • 전면 광고: ca-app-pub-3940256099942544/1033173712
  • 보상형 광고: ca-app-pub-3940256099942544/5224354917
  • 네이티브 광고: ca-app-pub-3940256099942544/2247696110

자, 이제 광고를 불러오는 코드를 추가한다.

public class MyActivity extends AppCompatActivity {

    ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ...

        AdView adView = findViewById(R.id.banner_ad_view);
        AdRequest adRequest = new AdRequest.Builder().build();
        adView.loadAd(adRequest);
        
        ...
    }
    
    ...
    
}

 

반응형