java - 根据 Admob,广告看起来很奇怪(元素重叠)
问题描述
我正在使用横幅广告和插页式广告。我这边的一切看起来都很好。但我收到一封电子邮件,广告元素相互重叠。Admob 想让我解决这个问题。但我不知道问题出在哪里。
我将 com.google.firebase:firebase-ads:12.0.0 与 Android Studio 一起使用。
对于插页式广告:
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.interBannerAdID));
mInterstitialAd.loadAd(new AdRequest.Builder().build());
if (isNetworkConnected() && mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
对于横幅广告:
AdRequest request = new AdRequest.Builder()
.build();
AdSize adsize=AdSize.BANNER;
adView.setAdSize(adsize);
adView.setAdUnitId(getActivity().getString(R.string.bannerAdID));
cv_ad.addView(adView);
adView.loadAd(request);
adView.setAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(int i) {
super.onAdFailedToLoad(i);
cv_ad.setVisibility(View.GONE);
adsVisibility = View.GONE;
}
@Override
public void onAdLoaded() {
super.onAdLoaded();
cv_ad.setVisibility(View.VISIBLE);
Animation animation = AnimationUtils.loadAnimation(context, R.anim.swing_up_left);
cv_ad.startAnimation(animation);
adsVisibility = View.VISIBLE;
isAdShown=true;
}
});
横幅广告的布局视图:
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/ad_card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="@dimen/dictionary_card_view_height"
card_view:cardCornerRadius="5dp"
android:layout_marginTop="20dp"
android:visibility="gone"
card_view:cardBackgroundColor="#f2f1f1"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
>
</android.support.v7.widget.CardView>
这是 Admob 发给我的截图。但我无法在我的测试设备上看到这个视图。模拟器和真实设备。
非常感谢您!
解决方案
你应该像这样在你的 XML 中添加 AdMob 组件
<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>
并将其添加到 onCreate 中的 java 代码中
MobileAds.initialize(this,
"ca-app-pub-3940256099942544~3347511713");
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
查看admob 文档以获取更多详细信息
推荐阅读
- ios - 加载xcode项目时问号图标替换图片
- firebase - 类型“CollectionReference”函数云上不存在属性“文档”
- java - 带有重复对象的流 distinct()
- html - input type="number" 在开发模式下接受负值 (-) 但在生产模式下不接受
- java - 如果 Java 8 中存在最小尺寸条件,如何从列表中删除项目?
- jquery - jQuery Button 在页面的不同区域切换相同的按钮
- javascript - 覆盖 Javascript Map 的相等函数
- android - WallpaperService 图像绘制性能
- python - 如何使用 print 并且在参数之间不添加空格?
- javascript - Javascript Random Quote Generator - 如何在页面首次加载时显示报价