我一直试图解决这个问题好几个星期。 StackOverflow中还有一些其他类似的问题,AdWhirl文档网站(one和two)中存在一些(显然已解决的)类似问题,但此错误仍困扰着我。
AdWhirl文档相当不完整且令人困惑。我遵循的步骤:
<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为空!”错误。
答案 0 :(得分:2)
这看起来非常像简约的AdWhirl实现。仅供参考,您不需要adWhirlGeneric()
方法。
有几个原因,nextRation可能为空。
注意:AdWhirl中的Ration
表示广告网络设置,例如网络名称及其相应的网络ID。
再次检查logcat输出,看看导致nextRation的原因是null错误。它是JSONException吗?如果是这样,那意味着你有问题#1。日志是否说您找到了AdMob点,然后AdMob以onFailedToReceiveAd
回复,然后您获得nextRation为空?然后你有问题#2。
答案 1 :(得分:0)
我遇到了同样的问题,并在此帖后发现了一个解决方案: http://code.google.com/p/adwhirl/issues/detail?id=27
希望它也可以帮到你。