Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – Google服务广告在加载广告时的行为与AdMob SDK不同?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近将我的项目从AdMob SDK迁移到了Google服务广告,但是我对Google服务广告遇到了一个小问题.

我在活动中有一个横幅广告视图,我会动态调整布局中的按钮,具体取决于广告是否已加载.我使用AdMob SDK时工作正常,但现在使用Google服务广告时,在加载广告之前,横幅始终保留为空白.如果广告无法加载(比如没有网络),那么空白视图就在那里,这相当丑陋!这也是我想动态调整布局的原因…

我改变代码时错过了什么?谢谢你的帮助!

这是java代码和布局文件的摘录:

Java的:

import com.google.android.gms.ads.*;
...
public class MyActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceStatE) {
    ...
    AdView adView = (AdView)findViewById(R.id.ad);
    Adrequest adrequest = new Adrequest.builder().build();
    adView.loadAd(adrequest);
}
}

布局XML:

...
  <com.google.android.gms.ads.AdView
    android:id="@+id/ad"
    android:layout_alignParentBottom="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="AD_PUB_ID"
    ads:adSize="BAnnER"/>
</RelativeLayout>

解决方法

您可以添加AdListener,并仅在收到广告时使广告可见.

代码如下所示:

final AdView ad = new AdView(context);
        ad.setAdUnitId(publisherId);
        ad.setAdSize(AdSize.smaRT_BAnnER);

        final AdListener listener = new AdListener() {
            @Override
            public void onAdLoaded() {
                ad.setVisibility(View.VISIBLE);
                super.onAdLoaded();
            }
        };

        ad.setAdListener(listener);
        ad.setVisibility(View.GONE);

        adParent.addView(ad);
        ad.loadAd(new Adrequest.builder().build());

由于存在问题,AdMob广告会在仍然加载时销毁ANR.在调用pause()或destroy()之前,我通常还会检查广告的可见性.

大佬总结

以上是大佬教程为你收集整理的Android – Google服务广告在加载广告时的行为与AdMob SDK不同?全部内容,希望文章能够帮你解决Android – Google服务广告在加载广告时的行为与AdMob SDK不同?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。