사용자가 앱을 열고 앱을 최소화 한 후 다시 시작할 때 AdMob 전면 광고를로드하고 싶습니다.
다음 코드를 사용하여 AdMob 전면 광고를로드하고 있습니다 onResume
.
@Override
protected void onResume() {
super.onResume();
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.interstitial_ad));
AdRequest request = new AdRequest.Builder()
.tagForChildDirectedTreatment(true)
.build();
mInterstitialAd.loadAd(request);
mInterstitialAd.setAdListener(new AdListener() {
public void onAdLoaded() {
showInterstitial();
}
});
}
그러나 광고는 닫은 후에도 계속해서로드됩니다. AdMob 설정에서 5 분에 한 번씩 광고 표시를 제한하려고했지만 작동하지 않았습니다. 광고가 반복적으로로드되지 않도록하려면 어떻게해야합니까?
사용자가 앱을 열고 앱을 최소화 한 후 다시 시작할 때 AdMob 전면 광고를로드하고 싶습니다.
전면 광고 권장 사항 ( https://support.google.com/admob/answer/6201362?hl=ko&ref_topic=2745287)에 따라 금지됩니다 .
코드는 회로를 만듭니다. 액티비티의에서 전면 광고를로드하고 onResume()
있으며 실행시기를 표시합니다 onAdLoaded()
. 그러나 for onAdLoaded()
가 실행되면 전면 광고가 이전부터 눈에 띄게 표시 되었어야합니다. 따라서 전면 광고가 아직 주변에 있기 onAdLoaded()
때문에 전면 광고 ( showInterstitial()
)를 표시하는를 전달하고 onAdLoaded()
, 이는 계속해서 호출 할 다른를 전달 showInterstitial()
합니다.
광고 요청을 일찍 보내야하며을 ( isLoaded()
를) 호출하기 전에 확인을 활용해야합니다 showInterstitial()
.
앱 실행시 광고 요청을 보냅니다.
// Initialize the Mobile Ads SDK.
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
// Create the InterstitialAd and set the adUnitId.
mInterstitialAd = new InterstitialAd(this);
// Defined in res/values/strings.xml
mInterstitialAd.setAdUnitId(getString(R.string.ad_unit_id));
if (!mInterstitialAd.isLoading() && !mInterstitialAd.isLoaded()) {
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);
}
그런 다음 이것을 귀하의 showInterstitial()
:
if (mInterstitialAd != null && mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
편집 : showInterstitial()
앱의 논리적 중단 점 에서만 호출 하십시오. 앱 실행 또는 앱 종료시 전면 광고를 표시하는 것은 AdMob의 전면 광고 권장 사항을 준수하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다