2015-12-10 1 views
0

В настоящее время я загружаю этот код при каждой загрузке. Есть ли более эффективное направление, которое я могу взять, например, одноэлемент, или это лучший способ загрузки рекламы в iOS?Как загрузить объявление AdMob на каждом представлении в iOS

- (void)viewDidLoad { 
    buttonsView.orientation = CSLinearLayoutViewOrientationVertical; 
    buttonsView.verticalAlignment = CSLinearLayoutItemVerticalAlignmentBottom; 

    self.ad.adUnitID = @"ca-app-pub-3940256099942544/6300978111"; 
    self.ad.rootViewController = self; 
    self.ad.delegate = self; 
    self.ad.adSize = GADAdSizeFromNSValue(NSValueFromGADAdSize(kGADAdSizeSmartBannerPortrait)); 
    [self.ad loadRequest:[GADRequest request]]; 

    [super viewDidLoad]; 
} 

ответ

0

Есть несколько способов сделать это. Один из методов - создать суперкласс класса UIViewController. В методе viewDidLoad суперкласса реализуется рекламный код. Любое представление, которое нуждается в этом рекламном коде, должно просто наследовать от суперкласса, и это похоже на это поведение. Если каждый UIViewController имеет определенные значения, чтобы идентифицировать его как уникальное представление, вы можете установить эти значения перед вызовом [super viewDidLoad] для суперкласса. Если это не имеет никакого смысла, дайте мне знать, и я смогу добавить код для вас.

Другим возможным подходом является использование метода swizzling для изменения поведения по умолчанию UIViewController и добавления кода таким образом. Просто google «метод swizzling object-C». Вот одна из лучших статей по этому поводу, которые мне нравятся: https://blog.newrelic.com/2014/04/16/right-way-to-swizzle/

Смежные вопросы