更改视图控制器时,防止重新加载AdMob广告

时间:2016-02-27 01:19:15

标签: ios objective-c cocoa-touch admob banner

我正在使用AdMob,而我的所有视图控制器都使用相同的广告横幅。但是,当我更改观看次数时,整个广告会重新加载,从而减少了我的展示次数。有没有办法阻止广告卸载或在所有视图控制器之间共享它?对于viewcontroller.h我有

[][]

并且对于viewcontroller.m,代码是

#import <UIKit/UIKit.h>

#import <AudioToolbox/AudioToolbox.h>

@import GoogleMobileAds;

@interface ViewController : UIViewController {

__weak IBOutlet GADBannerView *bannerView;

}

横幅类为@import GoogleMobileAds; #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"Google Mobile Ads SDK version: %@", [GADRequest sdkVersion]); self->bannerView.adUnitID = @"myadunitid"; self->bannerView.rootViewController = self; [self->bannerView loadRequest:[GADRequest request]]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end 。有没有办法阻止广告重新加载?

1 个答案:

答案 0 :(得分:0)

默认情况下,Googl AdMob单元会自动刷新。因此,我们不要求多次加载该单元,以免我们的帐户被终止。

请在下面的SWIFT中查看我的提案:

  • 在其他地方为GADBannerView定义一个静态变量。
  • 在一个视图控制器中:GADBannerView变量的设置大小和位置
  • 确保我们仅一次请求加载方法:

代码:

override func viewDidLoad() {
    ....................
    if (isLoaded == false)
    {
      adBannerView.load(request)
      isLoaded = true
    }
}

在测试过程中,我们将看到该设备会定期刷新。