我正在Android上通过AdMob实现插播广告的中介。我想整合4个额外的广告网络:
InMobi, AdColony, Chartboost和Applovin。
据我了解,通过阅读每个网站的官方文档,启用插页式广告调解很容易:
- 在上面的每个广告网络上创建一个帐户
- 为AdMob集成SDK和适配器
- 通过AdMob网站为上述每个网络激活中介
- 在创建AdRequest之前初始化/配置sdk
下面是我初始化sdk的代码:
InMobiSdk.init(adContext, "xxxxxxxxxxxxx");
InMobiSdk.setGender(InMobiSdk.Gender.MALE);
InMobiSdk.setYearOfBirth(1993);
AppLovinSdk.initializeSdk(adContext);
AdColony.configure((Activity) adContext, "version:2.3.0,store:google", "xxxxxx", "xxxxxxxxxx");
Chartboost.startWithAppId((Activity) adContext, "xxxxxxxxxx", "xxxxxxxxxxx");
Chartboost.onCreate((Activity) adContext);
之后我创建了AdRequest:
mInterstitialAd = new InterstitialAd(adContext);
mInterstitialAd.setAdUnitId("xxxxxxxxxxx");
AdRequest adRequest = new AdRequest.Builder()
.setGender(AdRequest.GENDER_MALE)
.setBirthday(new GregorianCalendar(1993, 1, 1).getTime())
.build();
mInterstitialAd.loadAd(adRequest);
不幸的是,除了谷歌提供的插页广告,我看不到任何插页广告,我不知道我做错了什么。我试图在调试日志中找到一些信息,但没有找到任何有用的。
另一方面,与横幅广告的调解就像一个魅力。
是否有任何额外的实施步骤,我应该做得到广告调解工作?
经过一番调查和挖掘,我终于弄明白了。
为了使中介工作,您需要创建适当的proguard (Android Studio中默认可用的混淆工具)规则。
这是为了允许AdMob SDK找到你的适配器类(混淆过程会重命名所有类,除了那些有proguard规则的类)并实例化它。
您还需要为打算包含的广告网络包含库。所以你总共需要:
- <
- AdMob库/gh>
- 零或多个
- 附加广告网络库
- Admob的附加广告网络适配器(可能包含在网络库中)