i have added all the required files and frameworks for integrating admob. The problem is that it does not add the subview to the viewcontroller.
My viewcontroller consist of a navigation bar and a UITableView. What i want to achieve is to have a admob in the button of my viewcontroller. How can i achieve this.
At the moment i'm using following code, which is not doing anything and not giving me any errors:
bannerView_.adUnitID = #"Banner Key";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
Perhaps you need to set the frame of the banner as well?
1 must set the frame of ad banner so that it can be displayed:
m_bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
m_bannerView.adUnitID = #"AD Unit ID";
m_bannerView.rootViewController = self;
m_bannerView.delegate = self;
m_bannerView.frame = CGRectMake(0, 64, 320, 50); // 64 = height of navigation bar
GADRequest *request = [GADRequest request];
[self.view addSubview:m_bannerView];
[m_bannerView loadRequest:request];
You can set the origin points of the adBanner like below.
self.adBanner = [[GADBannerView alloc]initWithAdSize:kGADAdSizeBanner
origin:CGPointMake(0,31)];
self.adBanner.adUnitID = #"YOUR_KEY";
self.adBanner.delegate = self;
self.adBanner.rootViewController = self;
[self.view addSubview:self.adBanner];
[self.adBanner loadRequest:[self request]];
Related
I am using Flurry in my iOS app, to display banner ads as follows:
self.flurryBanner = [[FlurryAdBanner alloc] initWithSpace:#"FlurryBanner"];
self.flurryBanner.adDelegate = self;
[self.flurryBanner fetchAdForFrame:self.view.frame];
while I can find documentation in AdMob to hide banner (setHidden = YES), I could not find any information on how to do so. Any ideas for a good practice?
You can do it like this
UIView *flurryContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 150, self.view.frame.size.width, 50)];
[self.view addSubview:flurryContainer];
[self.flurryBanner displayAdInView:flurryContainer viewControllerForPresentation:self];
And then flurryContainer.hidden = YES;
I am creating an app using Phonegap and Onsen UI. I am able to show the Admob ads using this code:
- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
// Black base color for background matches the native apps
theWebView.backgroundColor = [UIColor blackColor];
CGPoint origin = CGPointMake(0.0,
self.view.frame.size.height -
CGSizeFromGADAdSize(kGADAdSizeBanner).height);
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner
origin:origin];
bannerView_.center = CGPointMake(self.view.center.x, self.view.frame.size.height-CGSizeFromGADAdSize(kGADAdSizeBanner).height/2);
bannerView_.adUnitID = #"myid";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
return [super webViewDidFinishLoad:theWebView];
}
However, if I use iframe, the ads will not showing. Why this happened and how to solve it?
I put an Admob banner at the bottom centre of screen using the following code:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGPoint origin = CGPointMake(0.0,
self.view.frame.size.height -
CGSizeFromGADAdSize(kGADAdSizeBanner).height);
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner
origin:origin];
bannerView_.center = CGPointMake(self.view.center.x, self.view.frame.size.height-CGSizeFromGADAdSize(kGADAdSizeBanner).height/2);
bannerView_.adUnitID = #"myid";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
}
However, in iPad, I plan to put different ads on another location. Therefore, I need to hide this ads in iPad. Is it possible for me to do this?
try this
bannerView_.hidden=true;
You do not need to make more than one banner view. The easier solution is using the same banner view but checking the current device idiom before positioning the view. For example here is the code you provided modified to check which device the user is on:
- (void) webViewDidFinishLoad: (UIWebView*) webView
{
CGPoint origin = CGPointMake(0.0,
self.view.frame.size.height -
CGSizeFromGADAdSize(kGADAdSizeBanner).height);
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner
origin:origin];
bannerView_.center = CGPointMake(self.view.center.x, self.view.frame.size.height-CGSizeFromGADAdSize(kGADAdSizeBanner).height/2);
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// Change the banner's center/origin here for the iPad.
}
bannerView_.adUnitID = #"myid";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
}
I just started using AdMob but I noticed that, after running it for about an hour, it's accumulated 50MB! Yikes. I thought about releasing it but I can't since I am using ARC. Any ideas? I'm using the getting started code provided by google:
GADBannerView *bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
CGRect newFrame = CGRectMake(self.scroller.frame.origin.x,self.scroller.frame.origin.y + 70,self.scroller.frame.size.width,self.scroller.frame.size.height);
[self.scroller setFrame:newFrame];
bannerView_.adUnitID = #"XXXXX";
bannerView_.rootViewController = self;
[bannerView_ setFrame:CGRectMake(0,
20,
bannerView_.bounds.size.width,
bannerView_.bounds.size.height)];
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
I had the same problem.
When receiving a new ad, you must remove the previous ad from the parent view.
Otherwise, they are superimposed on each other and consumes memory.
So, after receiving more than 15 advertisements, the percentage of allocated memory remained constant.
Hoping that this will help you.
- ( void )displayBanner:( UIView * )banner
{
UIView * oldBanner = [ _bannerView viewWithTag:999 ];
if( oldBanner )
{
[ oldBanner removeFromSuperview ];
oldBanner = nil;
}
banner.tag = 999;
[ _bannerView addSubview:banner ];
}
I've got my AdMob banners all setup and working but I'm having some trouble positioning them.
This is the code that's in presently to load the bannerview, but I can't quite place how to move it (let's assume to a position of 100, 100)
Can anyone help?
Regards
David
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeFullBanner];
bannerView_.adUnitID = #"a14ff98b8ab890d";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
[bannerView_ setFrame:CGRectMake(100,
100,
bannerView_.bounds.size.width,
bannerView_.bounds.size.height)];
You can add origin to your bannerView_
CGPoint origin = CGPointMake(0.0, 0.0); //Update the X and Y origin to what you need, ex: (0.0, 204.0)
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner origin:origin];