2012-07-27 54 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