非页内实施

时间:2015-08-06 09:30:44

标签: ios objective-c admob uiwindow

对于我公司的大部分应用,我们都会展示插页式广告。 首先我们加载它,当它加载时,我们显示它。

有时(很少)在转换过程中存在插页式广告(例如pushviewcontroller)。

我想知道在层次结构viewcontrollers的另一个窗口中显示插页式广告是否是一个很好的解决方案。

做类似的事情:

- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial {
    mWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    UIViewController* controller = [[UIViewController alloc] init];
    controller.view.backgroundColor = [UIColor clearColor];
    mWindow.backgroundColor = [UIColor clearColor];
    mWindow.rootViewController = controller;
    [mWindow makeKeyAndVisible];
    [self.interstitial presentFromRootViewController:mWindow.rootViewController];
}

- (void) interstitialDidDismissScreen:(GADInterstitial *)ad {
    [mWindow removeFromSuperview];
    mWindow = nil;
}

那难看吗?

1 个答案:

答案 0 :(得分:1)

我认为在层次结构视图控制器的另一个窗口中显示插页式广告并不是一个好习惯,我们不能说这是错误的。来自apple文档,

  

UIWindow类定义一个称为窗口的对象,该窗口管理和>协调应用在设备屏幕上显示的视图。除非应用可以在外部设备屏幕上显示内容,否则应用只有一个窗口。   https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWindow_Class/