2012-07-27 17 views
0

我無法讓Adwhirl工作。試圖在官方文檔中的一個小時後,我嘗試了簡約路線,通過XML:Android上的AdWhirl - 配給權重總和爲0 - 無廣告顯示

<com.adwhirl.AdWhirlLayout 
    android:id="@+id/addwhirlview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

這段代碼是在同一個地方作爲我原來的AdMob代碼,(com.google.ads.AdView)這工作得很好。

我從logcat中使用AdWhirl如下:

I/AdWhirl SDK(18641): Creating adWhirlManager... 
D/AdWhirl SDK(18641): Locale is: en_US 
D/AdWhirl SDK(18641): Hashed device ID is: 7d1dd13a2fa91c0ad174cb69a11549a3 
I/AdWhirl SDK(18641): Finished creating adWhirlManager 
D/AdWhirl SDK(18641): Prefs{427dbf543f7849e6bd9e8c425a2a52a6}: {"config": "{"extra":{"location_on":1,"background_color_rgb":{"red":0,"green":0,"blue":0,"alpha":1},"text_color_rgb":{"red":255,"green":255,"blue":255,"alpha":1},"cycle_time":30,"transition":8},"rations":[]} 
D/AdWhirl SDK(18641): ", "timestamp": 1343402294184} 
I/AdWhirl SDK(18641): Using stored config data 
D/AdWhirl SDK(18641): Received jsonString: {"extra":{"location_on":1,"background_color_rgb":{"red":0,"green":0,"blue":0,"alpha":1},"text_color_rgb":{"red":255,"green":255,"blue":255,"alpha":1},"cycle_time":30,"transition":8},"rations":[]} 
I/AdWhirl SDK(18641): Sum of ration weights is 0 - no ads to be shown 

我GOOGLE了這個問題,女巫給我帶來了這樣一個問題:Empty AdWhirl layout on android (no ads shown) ..那個傢伙basicly expieriencing和我一樣,說他想通了,但從來沒有發佈..

我在清單中獲得了我的AdWhirl鍵,我將Admob設置爲我的唯一廣告網絡,並將該應用添加到應用列表等中,因此我相當確信該側面是正確的..我做錯了什麼,「配給權重總和爲0」甚至是什麼意思?

在此先感謝! Thomas

回答

2

在AdWhirl中,Ration表示有關您配置的廣告網絡的信息。廣告網絡有一個名稱和網絡ID(AdWhirl設置這些),以及您爲該網絡指定的百分比值和任何鍵(在AdMob的情況下,只使用一個鍵 - 發行商ID)。

AdWhirl然後拉你的配置,併爲你配置的每個網絡添加配給權重(百分比)。在你的情況下,百分比加起來爲0.

爲什麼會發生這種情況?您的JSON字符串包含"rations":[],這意味着配置AdWhirl拉沒有任何廣告網絡配置。您會注意到日誌也會說Using stored config data,這意味着它會緩存來自先前拉的配置。您最近可能更新了配置,但AdWhirl仍在緩存舊配置。

您可以在網絡瀏覽器中檢查http://mob.adwhirl.com/getInfo.php?appver=3.2.0&appid=REPLACE_WITH_YOUR_APP_ID(插入您自己的SDK KEY),以查看AdWhirl後端是否正在爲新配置提供服務。如果您正確配置了AdMob,則應該在日常數組中看到一個條目。

確認AdWhirl後端正在提供正確的配置後,您可以減少AdWhirl緩存的積極性。你可以這樣做,像這樣:

AdWhirlManager.setConfigExpireTimeout(1000 * 10); 

這將使只AdWhirl中的緩存配置每10秒,這意味着它基本上將拉動每次刷新一個新的配置。然後AdMob應該顯示在下一個配置拉,並從那裏一切工作。

請注意,通常最好將配置緩存一段較長的時間,以便您的應用無需在每次刷新時都拉取配置。在正常情況下,您可以考慮緩存大約30分鐘的內容:

AdWhirlManager.setConfigExpireTimeout(1000 * 60 * 30); 
+0

謝謝,完美答案!現在所有工作都正常了,再次感謝! – Thomas 2012-07-28 12:08:12