안드로이드 스튜디오 앱에 배너 광고 넣기

Android/공통 2020.11.13 댓글 moonsu
728x90

 

 

 

 

Google AdMob 모바일 광고 생성

Google AdMob 모바일 광고 SDK 가져오기

 

배너 광고는 앱의 상단이나 하단 레이아웃에 게재된다. AdMob의 배너광고를 안드로이드 스튜디오 앱에 넣는 방법을 설명한다.

 

1. 레이아웃에 AdView 추가

광고를 게재할 액티비티(Activity) 또는 프레그먼트(Fragment) 레이아웃에 Adview를 추가해야한다.

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

(1) ads:adSize : 광고 크기를 설정할 수 있다. 아래 표는 안드로이드 스튜디오 배너 광고의 표준 배너 크기이다.

크기 (폭x높이)

설명

사용 가능 여부

AdSize 상수

320x50

배너

스마트폰, 태블릿

BANNER

320x100

대형배너

스마트폰, 태블릿

LARGE_BANNER

300x250

IAB 중간 직사각형

스마트폰, 태블릿

MEDIUM_RECTANGLE

468x60

IAB 전체 크기 배너

태블릿

FULL_BANNER

728x90

IAB 리더보드

태블릿

LEADERBOARD

 

(2) ads:adUnitId : 광고 단위의 고유 식별자

AdMob 에서 광고를 생성하면 각 광고마다 고유한 식별자가 생성된다. (Google AdMob 모바일 광고 생성)

생성한 고유 식별자를 입력한다. 또는 코드에서 입력할 수도 있다.

Java 코드
AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
Kotlin 코드
val adView = AdView(this)

adView.adSize = AdSize.BANNER
adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"

 

!주의사항

앱 광고를 테스트 할 때는 본인이 만든 광고의 식별자가 아닌 테스트광고 식별자를 사용해야 한다. 그렇지 않으면 계정이 정지될 수 있다. 테스트할 때는 테스트 전용 광고 ID [ca-app-pub-3940256099942544/6300978111] 를 사용하고, 배포할 때 꼭 바꾸도록 하자 

 

2. 광고 로드

AdView 가 배치되었으면 loadAd() 메소드를 사용해 원하는 때에 광고를 로드한다. 배너 광고의 경우 앱 시작시 바로 띄우는 경우가 많기 때문에 보통 MainActivity에 onCreate() 메서드에 광고를 로드한다.

Java 코드
public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}
Kotlin 코드
class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

 

3. 콜백 함수

광고 중 추가로 기능을 구현하고 싶을 때 setAdListener() 메소드를 호출한다.

Java 코드
mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // 광고 로드가 끝났을 때
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
        // 광고 요청 실패했을 때
    }

    @Override
    public void onAdOpened() {
        // 광고가 화면 덮는 오버레이로 열릴 때
    }

    @Override
    public void onAdClicked() {
        // 사용자가 광고 클릭했을 때
    }

    @Override
    public void onAdLeftApplication() {
        // 광고 클릭으로 다른 앱 열릴 때
    }

    @Override
    public void onAdClosed() {
        // 사용자가 광고 클릭 후 다시 앱으로 돌아올 때
    }
});
Kotlin 코드
mAdView.adListener = object: AdListener() {
    override fun onAdLoaded() {}

    override fun onAdFailedToLoad(adError : LoadAdError) {}

    override fun onAdOpened() {}

    override fun onAdClicked() {}

    override fun onAdLeftApplication() {}

    override fun onAdClosed() {}
    
    // 자세한 설명은 자바 코드 참조
}

 

안드로이드 스튜디오로 모바일 앱에 배너 광고 띄우고 광고비 벌자

 

 

 

 

 

 

 

728x90
반응형

댓글