UITableView
13 セルごとに Admob バナーを含むが必要です。これはすでに機能していますが、私の問題は、さまざまなバナー (現時点では 4 つ) を表示したいということです。セル 13 にはバナー 1、セル 26 にはバナー 2 などがあります。
私の問題は、それを実現する方法がわからないことです。現在、すべてのセルで最初のバナーを受け取ります。これは、コードがすべてのセルに 1 つのバナーをロードするだけで、「はい、広告があります。今は満足しています」と言って、2 つのバナーをロードしないことを意味します。 26セルで。
「AdCell」をサブクラス化し、スクロール時にすべてのセルがリロードされるのを防ぐために「hasAD」と言う Bool を用意しました (しかし、それは私の問題の一部でしょうか?)。多分あなたは私を助けることができます。
テーブル内のセル:
AdCell *cell = (AdCell *)[tableView dequeueReusableCellWithIdentifier:@"AdCell"];
cell.tag = 4;
if (cell == nil) {
cell = [[AdCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"AdCell"];
}
if (![cell hasAD]){
// Create a view of the standard size at the bottom of the screen.
// Available AdSize constants are explained in GADAdSize.h.
GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(290, 120));
DFPBannerView *bannerView_ = [[DFPBannerView alloc] initWithAdSize:customAdSize];
//The AdCounter is what i said with banner1,banner2
if (adCounter == 4){
adCounter = 1;
}
bannerView_.adUnitID = [NSString stringWithFormat:@"LEFTOUT-%i/banner",adCounter];
// Let the runtime know which UIViewController to restore after taking
// the user wherever the ad goes and add it to the view hierarchy.
bannerView_.rootViewController = self;
//Center AD
[bannerView_ setCenter:CGPointMake(cell.center.x, cell.center.y)];
[cell.contentView addSubview:bannerView_];
// Initiate a generic request to load it with an ad.
[bannerView_ loadRequest:[GADRequest request]];
adCounter++;
[cell setHasAD];
}
return cell;