数周以来,我一直在努力解决这个问题。在StackOverflow中还有其他一些类似的问题,在AdWhirl文档网站(one和two)中也有(显然已解决)类似的问题,但是这个错误仍然困扰着我。
AdWhirl文档相当不完整且令人困惑。我遵循的步骤:
我创建了一个AdMob帐户,并获得了AdMob ID。
我创建了一个AdWhirl帐户,在其中放置了AdMob ID,并获得了AdWhirl ID。
我在Java构建路径中添加了AdMob SDK Jar 4.3.1和AdWhirl SDK Jar 3.1.1
在清单文件中,添加了以下几行:
。
<manifest>
[...]
<application>
[...]
<activity android:name="com.google.ads.AdActivity"
android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:value="[AdWhirl ID]" android:name="ADWHIRL_KEY"/>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
</manifest>
在所有我想要广告的布局中,我添加了以下几行:
。
<com.adwhirl.AdWhirlLayout
android:id="@+id/adwhirl_layout"
android:layout_width="fill_parent"
android:layout_height="72dip" />
在与这些布局有关的所有活动中,我添加了以下几行:
。
public class XXX extends ListActivity implements AdWhirlInterface {
[...]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.YYY);
initAds();
[...]
}
[...]
private void initAds() {
AdWhirlManager.setConfigExpireTimeout(1000 * 60 * 5);
AdWhirlTargeting.setTestMode(false);
AdWhirlLayout adWhirlLayout = (AdWhirlLayout)findViewById(R.id.adwhirl_layout);
adWhirlLayout.setAdWhirlInterface(this);
}
public void adWhirlGeneric() {
Log.e(AdWhirlUtil.ADWHIRL, "In adWhirlGeneric()");
}
}
项目构建目标:Google API Android 4.0
模拟器:Google API 2.1(API 7)
我究竟做错了什么?
我没有看到任何广告,而且一直收到“ nextRation为null!”的消息。错误。
最佳答案
这看起来非常类似于简约的AdWhirl实现。仅供参考,您不需要adWhirlGeneric()
方法。
nextRation可能为null的原因有两个。
在出现此问题期间,或者在AdWhirl UI中配置错误的某些设置期间,AdWhirl服务器可能已关闭。这些错误是不太可能的。
AdWhirl尝试请求一个AdMob广告,但由于任何原因失败(我的钱是由于缺乏库存),并且AdWhirl没有下一个定量,这意味着不再有广告网络可以尝试向其请求广告(并且它将尝试下次刷新时再次)。
注意:AdWhirl中的Ration
代表广告网络设置,例如网络名称及其对应的网络ID。
再次检查logcat输出,并查看导致nextRation为空错误的原因。它是JSONException吗?如果是这样,则意味着您遇到了问题#1。日志是否表示您找到了AdMob定量,然后AdMob响应了onFailedToReceiveAd
,然后您获得nextRation为空?然后,您遇到了问题2。