2012-01-30 72 views
2

我與這個測試:的AdWhirl的actualadsize方法不返回正確的信息

CGSize adSize = [adWhirlView actualAdSize]; 
NSLog(@"ad size received: %f x %f",adSize.width, adSize.height); 

然而,返回的寬度始終是設備方向的寬度,不管什麼廣告實際的樣子。這對於adMob來說主要是一個問題,因爲它的廣告可能比設備的寬度小得多,因此即使上面返回的adsize實際上表明廣告應該是全寬度,也會顯示爲左對齊而不是居中。

其他人遇到過這個問題,並對如何處理它有什麼建議?如果您不知道廣告的實際寬度,則無法正確對中。

+0

你如何定義你的AdWhirlView? – 2012-01-30 21:40:17

+0

我在adWhirl文檔中使用標準機制:'self.adWhirlView = [AdWhirlView requestAdWhirlViewWithDelegate:self];'和打開adWhirl視圖的其餘標準行 – johnbakers 2012-02-01 14:16:50

回答

0

我有同樣的問題。 我已經與AdWhirl中的iAd &啓用AdMob廣告,我作出這樣: ........

CGSize adSize = [adWhirlView actualAdSize]; 
...... 
if (adSize.height==50){ 
// this is AdMob ad, change x position 

} else { 
// iAd ad, leave by default 
} 
+0

我會試一試,但adMob廣告根據我的經驗,它通常高於50像素 – johnbakers 2012-02-01 00:16:58

1

問題坐落在AdMob的適配器:

// Set the frame for this view to match the bounds of the parent adWhirlView. 
    GADBannerView *view = 
    [[GADBannerView alloc] initWithFrame:adWhirlView.bounds]; 

這是自從AdWhirl在這裏缺少可選的委託方法以來,這是一個非常糟糕的實現。雖然這很容易解決。簡單的使用AdMobs旗幟的尺寸之一,這樣就可以了:

GADBannerView *view = 
    //[[GADBannerView alloc] initWithFrame:adWhirlView.bounds]; 
[[GADBannerView alloc] initWithFrame:CGRectMake(0, 0, GAD_SIZE_468x60.width, GAD_SIZE_468x60.height)]; 

你可能要修復的顏色了。關於顏色有兩個錯誤:

  • AdMob適配器確實使用適當的委託方法(adWhirlAdBackgroundColor,adWhirlTextColor)。雖然,他只是使用背景顏色的文字。
  • 如果未實現顏色委託方法,則AdMob適配器不會回退到您在配置中定義的顏色。

爲了解決這個問題,只需找到相關的顏色代碼(右GetAd出現在()的開始),取而代之的是:

if ((value = [self delegateValueForSelector: 
         @selector(adWhirlAdBackgroundColor)])) { 
    [additional setObject:[self hexStringFromUIColor:(UIColor *)value] 
        forKey:@"color_bg"]; 
    } else { 
    [additional setObject:[self hexStringFromUIColor:adWhirlConfig.backgroundColor] 
        forKey:@"color_bg"]; 
    } 

    if ((value = [self delegateValueForSelector: 
         @selector(adWhirlTextColor)])) { 
    [additional setObject:[self hexStringFromUIColor:(UIColor *)value] 
        forKey:@"color_text"]; 
    } else { 
    [additional setObject:[self hexStringFromUIColor:adWhirlConfig.textColor] 
        forKey:@"color_text"]; 
    } 
相關問題