AdMob广告不与亲卫队所示(admob ads are not shown with pro gu

2019-07-03 18:24发布

我公司开发的Android应用程序,我使用了AdMob的SDK 6.2.1显示广告,而当我测试的应用程序我真正的设备上,并在模拟器上,广告的展示。 但是当我申请亲卫队,以我的应用程序并对其进行测试我的设备上(我测试了另一种设备也可以)的广告没有显示了,任何帮助,请!

Answer 1:

添加到您的ProGuard:

-keep class com.google.ads.** # Don't proguard AdMob classes
-dontwarn com.google.ads.** # Temporary workaround for v6.2.1. It gives a warning that you can ignore


Answer 2:

从文档 :

安全使用ProGuard和谷歌移动广告,以下内容添加到您的ProGuard配置:

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

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

这将防止混淆公共类的所有公共方法。

如果您使用AdMob中介与其他广告网络,就应该避免在公共类SDK和适配器库以及公共方法。



Answer 3:

AdMob的Proguard的规则

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

# For old ads classes
-keep public class com.google.ads.**{
   public *;
}

# For mediation
-keepattributes *Annotation*

# Other required classes for Google Play Services
# Read more at http://developer.android.com/google/play-services/setup.html
-keep class * extends java.util.ListResourceBundle {
   protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
   public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
   @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
   public static final ** CREATOR;
}

-dontwarn com.google.common.base.**
-keep class com.google.common.base.** {*;}
-dontwarn com.google.errorprone.annotations.**
-keep class com.google.errorprone.annotations.** {*;}
-dontwarn com.google.j2objc.annotations.**
-keep class com.google.j2objc.annotations.** { *; }
-dontwarn java.lang.ClassValue
-keep class java.lang.ClassValue { *; }
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keep class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement { *; }


文章来源: admob ads are not shown with pro guard