Я внедрил AdMob & все, кажется, работает,
Но я удивляюсь, как я могу разместить баннер во всех моих контроллерах представления?
На данный момент у меня есть баннер только на RootViewController.
У меня есть всего 4 контроллера вида.
Спасибо.AdMob во всех моих контроллерах?
ответ
Я не знаю, как AdMob работает, но как и все остальное вы можете создать BaseViewController
, в котором вы можете добавить свой AdMob (в методе viewDidLoad
), а затем все остальные viewControllers могут Подкласс этот BaseViewController
. просто позвоните [super viewDidLoad];
в viewDidLoad
методы ваших viewControllers и вы будете иметь его ...
надеясь, что это сортирует вашу проблему ... :)
То, что вы хотите здесь является GADBannerView
одноточечно сортов. Вы, вероятно, может создать класс оберточной действовать как синглтон для вашего AdView, так что-то вроде:
@interface GADMasterViewController : UIViewController {
GADBannerView *adBanner_;
BOOL didCloseWebsiteView_;
BOOL isLoaded_;
id currentDelegate_;
}
и просто убедитесь, что GADMasterViewController
всегда возвращает синглтон:
+(GADMasterViewController *)singleton {
static dispatch_once_t pred;
static GADMasterViewController *shared;
// Will only be run once, the first time this is called
dispatch_once(&pred, ^{
shared = [[GADMasterViewController alloc] init];
});
return shared;
}
есть метод, который перезагружает ток-контроллер, который, держась за AdView:
-(void)resetAdView:(UIViewController *)rootViewController {
// Always keep track of currentDelegate for notification forwarding
currentDelegate_ = rootViewController;
// Ad already requested, simply add it into the view
if (isLoaded_) {
[rootViewController.view addSubview:adBanner_];
} else {
adBanner_.delegate = self;
adBanner_.rootViewController = rootViewController;
adBanner_.adUnitID = kSampleAdUnitID;
GADRequest *request = [GADRequest request];
[adBanner_ loadRequest:request];
[rootViewController.view addSubview:adBanner_];
isLoaded_ = YES;
}
}
Тогда отображение вашего объявления является только вопросом:
Возможно, вам необходимо настроить делегат для переадресации уведомлений, так как SDK AdMob не подходит для делегатов, которые меняют его в середине запроса.
Вы можете найти сообщение в блоге об этом here.
Спасибо RajPara, я попытался следить за этим сообщением в yesturday, но «я заблудился» и не сделал этого: \ ... новый во всем этом –
Можете ли вы предоставить более подробную информацию о том, где вы потерялись? Если у вас есть конкретные вопросы, вы можете определенно попытаться помочь им с ними – RajPara
Благодаря Анкит, Итак, позвольте мне понять ... Если у меня есть это в viewDidLoad из RootViewController: CGRect кадра = CGRectMake (0.0, self.view.frame.size.height, GAD_SIZE_320x50.width , GAD_SIZE_320x50.height); self.adBanner = [[GADBannerView alloc] initWithFrame: frame]; Как я могу написать то, что вы сказали в каждом представленииDidLoad для каждого VC? Извините, это просто, что я новичок во всех этих вещах ... –
everyViewController будет подклассифицировать rootViewController, а затем просто вызвать [super viewDidLoad]; в методах viewDidLoad вашего viewControllers, и у вас будет это ... –