배너 광고는 앱의 상단이나 하단 레이아웃에 게재된다. 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 모바일 광고 생성)
생성한 고유 식별자를 입력한다. 또는 코드에서 입력할 수도 있다.
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
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() 메서드에 광고를 로드한다.
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);
}
}
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() 메소드를 호출한다.
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() {
// 사용자가 광고 클릭 후 다시 앱으로 돌아올 때
}
});
mAdView.adListener = object: AdListener() {
override fun onAdLoaded() {}
override fun onAdFailedToLoad(adError : LoadAdError) {}
override fun onAdOpened() {}
override fun onAdClicked() {}
override fun onAdLeftApplication() {}
override fun onAdClosed() {}
// 자세한 설명은 자바 코드 참조
}
안드로이드 스튜디오로 모바일 앱에 배너 광고 띄우고 광고비 벌자
'Android > 공통' 카테고리의 다른 글
안드로이드 스튜디오 :: 사용자 데이터 백업 (0) | 2021.01.29 |
---|---|
Google AdMob 모바일 광고 SDK 가져오기 (0) | 2020.11.13 |
Google AdMob 모바일 광고 생성 (0) | 2020.11.11 |
안드로이드 스튜디오 :: 검색 관련 단축키 (windows, macOS) (0) | 2020.10.26 |
안드로이드 스튜디오 :: Broadcast 에 권한 부여하기 (0) | 2020.10.14 |
댓글