的iAD查看冻结的广告关闭(iAD View Freezes On Ad Close)

2019-10-19 15:36发布

好了,在仿真测试后,事实证明,这种问题只发生在实际设备上 ...我将如何解决这一问题?


我正在与SpriteKit iOS应用程序和我实施的iAD。 一切工作或多或少像我希望如此,除了一两件事。 当我轻按广告,它带给我的全屏广告,符合市场预期,但在关闭该广告的当前视图冻结,在什么也没有发生视觉。 我知道应用程序仍在运行,因为当我再次再次接近了它的点击横幅广告游戏恢复正常状态,比赛不得不同时在视觉上冻结的进展。 这是旗帜,是如何在我的视图控制器类(IAD的代表)初始化:

self.canDisplayBannerAds = YES;

CGRect bannerFrame = CGRectMake(0, 20, scene.size.width, 50);

banner = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
banner.delegate = self;
banner.frame = bannerFrame;
[banner setAlpha:0];
[self.view addSubview:banner];

而这些都是加载方法,也是在视图控制器类:

- (void) bannerViewDidLoadAd:(ADBannerView *) bannerM
{
    NSLog(@"Ad Loaded");
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [bannerM setAlpha:1];
    [UIView commitAnimations];
}

- (void) bannerView:(ADBannerView *)bannerM didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"Ad Failed");
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [bannerM setAlpha:0];
    [UIView commitAnimations];
}

我真的不明白的问题,或者为什么它正在发生...任何帮助,将不胜感激!

谢谢,
StrongJoshua

编辑在这里是被称为横幅广告时打开和关闭两种方法:

- (BOOL) bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
    if(playing)
    {
        NSLog(@"Ad Pause");
        SKView *v = (SKView *)self.view;
        NSLog(@"2");
        SKScene *s = (SKScene *)v.scene;
        NSLog(@"3");
        WBPlayScene *p = (WBPlayScene *) s;
        NSLog(@"4");
        [p.logic pause:YES];
        NSLog(@"Done");
    }
    return YES;
}

- (void) bannerViewActionDidFinish:(ADBannerView *)banner
{
    if(playing)
    {
        NSLog(@"Ad Unpause");
        [((WBPlayScene *)((SKView *)self.view).scene).logic pause:NO];
    }
}

固定的原因,所有这些NSLogs是因为游戏崩溃当我尝试暂停。 达到游戏崩溃后“2”,所以在SKScene *s = (SKScene *)v.scene; 。 它给人的错误[UIView scene]: unrecognized selector sent to instance ,我不明白为什么...... 解决方法:要解决这个枝节问题,我改变self.viewself.originalContentView并得到了SKView而不是广告横幅的视图。

非常感谢您的帮助!

Answer 1:

解决:我不得不删除通话,使广告显示self.canDisplayBannerAds ,因为它与我的自我创造的旗帜干扰。



文章来源: iAD View Freezes On Ad Close