iOS在主VC上提供Ad Modal VC

时间:2016-03-13 23:15:34

标签: ios uiviewcontroller

我有一个广告,作为我的主要VC的模式。广告是定时的 - 在用户使用该应用5秒后,每个应用启动时展示一次。以下是主VC中的模式VC被推送。

-(void)viewDidLoad{
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"firstLaunch"] isEqualToNumber:[NSNumber numberWithInt:1]]) {
    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"paidIAP"] isEqualToNumber:[NSNumber numberWithInt:0]] ) {

        [self performSelector:@selector(showAdUnit) withObject:self afterDelay:5.0f];
    }

}

}


-(void)showAdUnit{
    NSLog(@"got to show ad unit");


    [ADNetwork showAd:ADNetworkShowStyleInterstitial rootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];

}

但是,如果用户在5秒之前转到应用的其他部分,则广告将因为此警告而无法启动

  

警告:尝试显示其视图不在窗口层次结构中!

基本上,广告永远不会展示。即使用户点击推送其他屏幕,如何在每次启动时通过主屏幕准确播放一次广告?如果无法做到这一点,我怎样才能将广告推到他们碰巧在的任何屏幕上?

1 个答案:

答案 0 :(得分:0)

您应该在主窗口rootViewController上展示它:

[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:adViewController animated:YES completion:nil];

此视图将始终在视图层次结构中显示其视图,并确保您的广告视图控制器将显示在其他所有内容之上。