我已经被困在一个问题上一段时间了,我无法弄清楚它是什么。我最近更新了 Mopub Android SDK ,并且插页式+横幅广告( AdMob 和 Millennial Media )在此之前正常运行。现在这些广告在发布版本中不起作用,但它们在调试版本中起作用。所以我认为这是proguard
的一个问题,但我无法追踪它是什么。 proguard
是根据 Mopub 指南设置的。
我已为我的项目proguard
添加了以下内容:
-keep class com.google.ads.**
-keep class com.millennialmedia.android.**
-keep public class com.mopub.mobileads.*
-keepclassmembers class com.millennialmedia.android.* {
public *;
}
在发布版本中,当我尝试展示广告时,我会收到以下日志:
I/MoPub (29856): Fetching ad network type: admob_native
D/MoPub (29856): Loading custom event interstitial adapter.
D/MoPub (29856): Attempting to invoke custom event: com.mopub.mobileads.GoogleAdMobInterstitial
D/MoPub (29856): Couldn't locate or instantiate custom event: com.mopub.mobileads.GoogleAdMobInterstitial.
I/MoPub (29856): Fetching ad network type: admob_native
D/MoPub (29856): Loading custom event adapter.
D/MoPub (29856): Attempting to invoke custom event: com.mopub.mobileads.GoogleAdMobBanner
D/MoPub (29856): Couldn't locate or instantiate custom event: com.mopub.mobileads.GoogleAdMobBanner.
V/MoPub (29856): MoPubErrorCode: Unable to find Native Network or Custom Event adapter.
请说明错误可能是什么。任何反馈都将不胜感激。
此外,我不知道这是否相关,但我正在开发 Cocos2dx Android 项目。
感谢。
答案 0 :(得分:8)
确实是ProGuard
。如果您不希望它完全“删除”Mopub
,AdMob
和MMedia
代码,只需将以下行放入项目的proguard-project.txt
文件中: / p>
-keep class com.google.ads.** {*;}
-keep class com.mopub.mobileads.** {*;}
-keep class com.millennialmedia.android.** {*;}
-keep class com.millennialmedia.google.** {*;}
答案 1 :(得分:0)
您需要创建自定义本机网络并在mopub站点中添加自定义类。与千禧年相同,并确保在项目中添加了必要的适配器。