我一直在試圖解決這個問題數週。在StackOverflow中還有一些類似的問題,並且在AdWhirl文檔網站(one和two)中有一些(顯然已解決)類似的問題,但是這個錯誤仍然困擾着我。我得到「nextRation爲空!」錯誤嘗試在Android中使用Adwhirl + AdMob
AdWhirl文檔是相當不完整和混淆。我遵循的步驟如下:
- 我創建了一個AdMob帳戶,並且獲得了AdMob ID。
- 我創建了一個AdWhirl帳戶,我在那裏放置了AdMob ID,並且獲得了AdWhirl ID。
- 我在Java構建路徑添加了AdMob的SDK 4.3.1罐和SDK的AdWhirl 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()");
}
}
項目構建目標:谷歌API的Android 4.0 仿真器:谷歌的API 2.1(API 7)
我在做什麼錯?
我看不到任何廣告,所有的時間我都得到「nextRation is null!」錯誤。
我發現的其他問題是我在互聯網上看到不同的配置。在某些地方,AdWhirlInterface的實現是有針對性的,但其他一些地方沒有。在某些地方,XML定義佈局中的adwhirl_layout的定義是指向的,但其他一些地方則沒有。我希望最簡單的配置可能... – thelawnmowerman 2012-01-14 14:06:52