問題坐落在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"];
}
你如何定義你的AdWhirlView? – 2012-01-30 21:40:17
我在adWhirl文檔中使用標準機制:'self.adWhirlView = [AdWhirlView requestAdWhirlViewWithDelegate:self];'和打開adWhirl視圖的其餘標準行 – johnbakers 2012-02-01 14:16:50