2

我们正在admobs为没有iAd. 但有时广告会出现两次,第二个广告有时会在屏幕中间比另一个广告高 100-200 像素。似乎第二个广告仅在访问已经有广告的视图时出现。感觉有点像广告调用viewDidAppear而不是viewDidLoad,但我们没有。或者didFailToReceiveAdWithError被外部呼叫- 呼叫viewDidLoad广告。有人知道这是什么一回事吗?

编辑: 它们可以同时出现,而无需重新访问已经有广告的视图。

编辑(代码) 基本上:

-(void) viewDidLoad
{
    [self createAdBannerView];
    [self.view addSubview:bannerView];
}

-(void) createAdBannerView
{
    bannerView = [[AdBannerView alloc] initWithFrame:CGRectZero];
    CGRect bannerFrame = bannerView.frame;
    bannerView.frame = bannerFrame;
    bannerView.delegate = self;
    bannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifiersPortrait,AdBannerContentSizeIdentifierLandscape,nil];
}

-(void)bannerView:(AdBannerView*)banner didFailToReceiveAdWithError:(NSError *)error
{
    [self.bannerView removeFromSuperview];
    GbannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height-99, 320,50)];
    self.GbannerView.adUnitID=@"xxxxxxx";
    self.GbannerView.rootViewController = self;
    [self.view addSubview:self.GbannerView];
    [self.GbannerView loadRequest:[GADRequest request]];
}

另外,如果有人知道:在包含 tableViews 的视图中,admobs 的位置是错误的。它卡在标签栏后面,即使该位置考虑了这一点。这不会发生在普通的 UIView 中。什么..

4

1 回答 1

1

我建议您将 tableView 问题提取到它自己的问题中。这里有一个如何执行此操作的示例,但我不知道这是否满足您的具体情况)。

您是否有理由不只是在这里使用AdMob 中介?他们已经获得了对 iAd 的支持,并且使用客户端代码进行设置非常容易。

对于您的具体情况,我想知道: 即使您从其超级视图bannerView:didFailToReceiveAdWithError中删除后是否会不断被调用。AdBannerView为什么不在:开头创建一个,GADBannerView然后在实例化任何新的之前检查它是否存在?AdBannerViewviewDidLoad

于 2012-12-28T19:05:25.883 回答