반응형
이번엔 전면광고를 로딩할 계획이다.
1) admob에서 전면광고를 신청한다.
사진 설명을 입력하세요.
사진 설명을 입력하세요.
사진 설명을 입력하세요.
2) 생성된 아이디를 기억해두고 초기화/로딩을 위한 소스를 만들어준다.
2-1) 초기화 메소드
public void loadAd() {
String AD_UNIT_ID = "ca-app-pub-XXXXXXXXXXXXXXXXX";
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(
this,
AD_UNIT_ID,
adRequest,
new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
DetailActivity.this.interstitialAd = interstitialAd;
//Log.i(TAG, "onAdLoaded");
//Toast.makeText(DetailActivity.this, "onAdLoaded()", Toast.LENGTH_SHORT).show();
interstitialAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
// Make sure to set your reference to null so you don't
// show it a second time.
DetailActivity.this.interstitialAd = null;
Log.d("TAG", "The ad was dismissed.");
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
// Make sure to set your reference to null so you don't
// show it a second time.
DetailActivity.this.interstitialAd = null;
Log.d("TAG", "The ad failed to show.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d("TAG", "The ad was shown.");
}
});
showInterstitial(); //////////실질적으로 보여주는 부분
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.i(TAG, loadAdError.getMessage());
interstitialAd = null;
String error =
String.format(
"domain: %s, code: %d, message: %s",
loadAdError.getDomain(), loadAdError.getCode(), loadAdError.getMessage());
/*
Toast.makeText(
DetailActivity.this, "onAdFailedToLoad() with error: " + error, Toast.LENGTH_SHORT)
.show();
*/
}
});
}
2-2) 초기화 한 것을 나타내는 메소드
private void showInterstitial() {
// Show the ad if it's ready. Otherwise toast and restart the game.
if (interstitialAd != null) {
interstitialAd.show(this);
} else {
//Toast.makeText(this, "Ad did not load", Toast.LENGTH_SHORT).show();
}
}
위의 메소드는 액티비티의 onCreate()에서 호출해주면 된다.
2-3) 특정확률 적용해 호출해주기
/////////////이곳에 30% 확률 넣어주기
int iVal = (int) (Math.random() * 10);
if(3 <= iVal && iVal <= 5) {
loadAd();
}
Math.random은 0~1의 소수를 반환한다. 이를 이용해 3,4,5 즉 3/10(30%)의 확률로 loadAd()메소드를 호출하게끔 구현한다.
반응형
'PHP' 카테고리의 다른 글
FirebaseInstanceId deprecated (FirebaseMessaging으로 바꿔주기) (0) | 2023.08.28 |
---|---|
문서편집기와 PHP에서 정규식 변환하기 (대괄호, 중괄호, 소괄호 포함된 문자열 없애기) (0) | 2023.08.16 |
안드로이드 YOUTUBE API 종료에 따른 WEBVIEW 대처 방법 (0) | 2023.07.25 |
[보상형 광고] com.google.android.gms:play-services-ads 업그레이드 되면서 RewardAd메소드 바꿔주기 (0) | 2023.07.24 |
Android Studio - unable to find valid certification path to requested target 해결방법 (0) | 2023.07.23 |