Как разместить рекламный блок SpriteKit в верхней части представления?

Как разместить баннер iAd в верхней части представления в приложении SpriteKit?

Баннер работает отлично, но не в той позиции.

Вот код для баннера iAd, но всегда ниже:

ViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Configure the view.
    SKView * skView = (SKView *)self.originalContentView;
    skView.showsFPS = YES;
    skView.showsNodeCount = YES;

    // Create and configure the scene.
    SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;

    self.canDisplayBannerAds = YES;

    // Present the scene.
    [skView presentScene:scene];

}

1 ответ

Я не могу сказать из кода, который вы разместили, сколько вы уже реализовали, поэтому для полноты...

Импортировать iAd

@import iAd;

Я предпочел просто создать переменную класса ADBannerView в качестве частного экземпляра iVar.

@implementation ViewController {
    ADBannerView *_bannerView;
}

Тогда в viewDidLoad

-(void)viewDidLoad {
    // iAd support
    _bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
    _bannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    _bannerView.delegate = self;
    [self.view addSubview:_bannerView];
}

Для баннера iAd, который отображается в верхней части экрана, это было все, что требуется для его отображения на экране.

Для методов делегата моя текущая стратегия состоит в том, чтобы скрыть баннер, когда ему нечего отображать.

#pragma mark - iAd Methods
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    _bannerView.hidden = NO;
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    _bannerView.hidden = YES;
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave {
    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner {
}
Другие вопросы по тегам