안드로이드 앱에 Admob 전면 광고를 추가할 때는 Admob 광고 정책을 잘 지켜야한다.
광고 정책을 피해서 좋은 타이밍에 전면광고를 추가하는 방법으로는 여러가지가 있는데,
그중에서도 뒤로가기/백키(Back key) 를 눌렀을때 전면광고를 보여주는 구현을 해볼 것이다.
* 종료 및 뒤로가기 시 Admob 전면광고를 붙이는 일은 현재 광고정책에 맞지않습니다. (2020.05.17 수정)
1. 전면광고 초기화
우선 이렇게 생긴 MainActivity에 전면광고를 초기화 한다.
public class MainActivity extends AppCompatActivity {
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
// 전면광고 초기화
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd = new InterstitialAd(context);
interstitialAd.setAdUnitId("ca-app-pub-67001845146665xx/88509xxxxx"); // * 자신의 전면광고 단위 아이디
interstitialAd.loadAd(adRequest);
}
}
2. onBackPressed() 오버라이딩
그리고는 MainActivity내에 onBackPressed() 메소드를 오버라이딩해서 전면광고를 보여줄 수 있도록 구현한다.
웹뷰가 메인으로 있는 액티비티 내에서는 back key
를 누르면 웹 내의 뒤로가기가 작동할 수 있도록 해주는 것도 잊지말자!
안그러면 뒤로가기 할때마다 전면광고가 보여지는 끔찍한일이 생길지도...ㅎㅎ
@Override
public void onBackPressed() {
// 혹시 웹 뷰를 사용하는 액티비티일 경우 웹뷰 뒤로가기를 구현해준다.
if (webView.canGoBack()) {
webView.goBack();
} else {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
// 사용자가 광고를 닫으면 뒤로가기 이벤트를 발생시킨다.
finish();
}
});
} else {
super.onBackPressed();
}
}
}
3. 광고가 잘 나오는지 체크!
이제 앱을 실행시켜 뒤로가기를 눌러본다음, 잘 구현이 되었는지 체크해주면된다.
+ 추가로 혹시 뒤로가기 버튼을 따로 구현했다면, 해당 버튼의 onClickListener 내에 onBackPressed(); 를 써주면된다.
'프로그래밍 > Android' 카테고리의 다른 글
[안드로이드] Fragment 내부의 ViewPager가 처음에는 안보일때 해결법 (2) | 2019.09.02 |
---|---|
안드로이드 이미지 URL로 표시하기 (Android ImageView with image url) (1) | 2019.05.06 |
안드로이드 인트로(스플래시) 화면을 만들어보자 (0) | 2019.04.24 |
안드로이드 URL에서 메타데이터 얻기 (Android get metadata from url) (0) | 2019.04.06 |
[안드로이드] 이메일 인텐트 보내기 (Intent ACTION_SEND Email) (2) | 2019.03.25 |