对于我公司的大多数应用程序,我们都会显示插页式广告。
首先,我们加载它,然后在加载时显示它。

有时(很少)在进行转换时会出现插页式广告(例如,pushviewcontroller)。

我想知道将插页式广告显示在层次结构视图控制器的另一个窗口中是否是一个好的解决方案。

做这样的事情:

- (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;
}


那丑吗?

最佳答案

我认为在层级视图控制器的另一个窗口中显示插页式广告不是一个好习惯,我们不能说这是错误的。从苹果文件,


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

10-08 17:20