我的应用程序最近遭到拒绝,因为我的两个第三方库使用AdSupport
框架,Apple在测试时无法在任何地方找到任何“Apple-Ad”横幅。所以我更新了我的代码,并将ADBannerView
作为subview
放在UITableView
的单元格中。
但这似乎不起作用,我得到错误代码,如
ADErrorDomain代码4:应用程序有iAD配置错误和其他错误..
当我将横幅视图添加为subview
视图的UIViewController
时,它的效果非常好。
广告是否有问题,或者我无法将广告投放到UITableViewCell
上?或者有没有办法在表格视图单元格上放置ADBannerView
?
修改
我放置ADBannerView
就像在教程中一样。 http://www.raywenderlich.com/1371/iad-tutorial-for-ios-how-to-integrate-iad-into-your-iphone-app
编辑2:
这是用于验证iAd集成是否按预期工作的测试代码。
//这是用于构建表格视图单元格
- (void) initializeAllAdTableViewCells {
[self initializeAdTableViewCellWithRow:1 inSection:0];
[self initializeAdTableViewCellWithRow:4 inSection:0];
[self initializeAdTableViewCellWithRow:5 inSection:0];
}
- (void) initializeAdTableViewCellWithRow:(NSUInteger) row inSection:(NSUInteger) section {
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]];
ADBannerView *adView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
adView.backgroundColor = [UIColor clearColor];
[cell addSubview:adView];
//store ad tableViewCell for later
[self internalRegisterAdTableViewCell:cell withRow:row inSection:section];
adView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
adView.delegate = self;
[adView release];
[cell autorelease]
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
int adCellCount = [[self adCellsForSection:section] count];
return [data count] + adCellCount;
}
- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [self adCellForRow:indexPath.row inSection:indexPath.section];
if (cell == nil) {
//create other cells
}
return cell;
}
答案 0 :(得分:0)
您正在发布AdBannerView,它可能甚至没有机会在您执行此操作之前将广告加载到视图中。您需要将自己的课程设置为广告的代表,然后您可以在广告可用时让广告在表格中插入一行,然后在广告可用时删除该行。广告并非始终可用,您将使用 - bannerViewDidLoadAd。