我正在尝试在我的应用中集成Admob SmartBanner和非页内广告。 SmartBanner工作正常但没有加载插页式广告。
在同一个应用中集成admob banner +非页内广告添加的正确代码是什么。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
//------------------------------------------------------------------------------------------
AdView mAdView = (AdView) rootView.findViewById(R.id.adView);
final AdRequest.Builder request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.addTestDevice("1E085E6103A6876F42FC5183C73D98CB");//genymotion galaxy s5 4.4.4
mAdView.loadAd(request.build());
mInterstitialAd = new InterstitialAd(getActivity());
mInterstitialAd.setAdUnitId(String.valueOf(R.string.banner_ad_unit_id));//("ca-app-pub-5059726881726792/4446999064");
//final AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
//adRequestBuilder.addTestDevice("1E085E6103A6876F42FC5183C73D98CB")//genymotion galaxy s5 4.4.4
// .addTestDevice("0B80CC732BD7E24CF42938649A17A7DA");//s3
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
}
@Override
public void onAdClosed() {
super.onAdClosed();
mInterstitialAd.loadAd(request.build());
}
});
mInterstitialAd.loadAd(request.build());
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
答案 0 :(得分:1)
在您的代码中,您可以在加载后立即显示插页式广告。
在请求/加载广告后,广告一直存在延迟(延迟)问题。
因此,如果广告尚未加载,您就无法展示广告。理想情况下,您应该在应用中的自然断点处显示插页式广告。示例:从一个活动转换到另一个活动时。但是,您可以修改代码以通过#onCreateView中的#onAdLoaded显示广告,如下所示:
@Override
public void onAdLoaded() {
super.onAdLoaded();
mInterstitialAd.show();
}