AdMob 横幅在启用 ProGuard 时为空白

AdMob banner is blank with ProGuard enabled(AdMob 横幅在启用 ProGuard 时为空白)

本文介绍了AdMob 横幅在启用 ProGuard 时为空白的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I've added the AdMob (320x50 banners) to my project and tested it successfully in debug mode. For production builds I have ProGuard obfuscation enabled and banners disappeared. I've tried using these ProGuard rules but it doesn't affect:

-keep public class com.google.android.gms.ads.** {
   public *;
}

-keep public class com.google.ads.** {
   public *;
}

I initialize AdMob in my Application class like:

MobileAds.initialize(getApplicationContext(), getString(R.string.banner_ad_id));

in xml layout I place banner:

<com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:visibility="gone"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>

after, I load a banner this way:

AdView adMobView = (AdView) bannerLayout.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adMobView.loadAd(adRequest);

Also, I'm using second ad provider (adtech) and play with their visibility depending on conditions. Any idea how to make them visible?

解决方案

Finally, I've found where was my problem - I shouldn't had set AdView's initial visibility parameter to GONE. Even through I've changed it programmatically to VISIBLE - it did not work in signed apk (still a mystery).

这篇关于AdMob 横幅在启用 ProGuard 时为空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:AdMob 横幅在启用 ProGuard 时为空白