iAd not appear after app released to AppStore - ios

My app "iCals" uploaded to AppStore and the iAd not appear.
In simulator and with TestFlight written in banner "You connected to iAd" but if I download the app from AppStore is not appear the banner.
#synthesize = adBanner = adBanner;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Make self the delegate of the ad banner.
adBanner.delegate = self;
// Initially hide the ad banner.
self.adBanner.alpha = 0.0;
}

iAd takes a couple of days to process after your app has already been processed and on the app store. If you go to the iAd dashboard you should have a message letting you know that your app is in review for iAd. If your app has only been in the app store for <3-5 days then give it a little more time. You'll still see the green light next to "Live Ads" but there won't be any ads until it's been reviewed.

Check the iAd control panel at https://iad.apple.com. If your app's Ad status is "Live ads", like so:
then everything is working fine, you just aren't getting an ad because there aren't always ads available to show. If you leave the app open for long enough, you should eventually see one.
You can also check other stats such as impression counts and fill rates in the control panel; these will indicate to you how many ads are actually being shown to users (my fill rates have been around 60% lately).
Also, if you don't live in one of the countries on this list, you'll never see any iAds in production.

Related

How to stop showing AdMob banner ad correctly?

I am building an app which will display AdMob banner ad, and when user successfully purchased an IAP item, the banner ad will never show up again, and the screen area originally occupied by the banner ad will be used by the app real functions.
The question is how to dismiss the bannerView or does not init it on the next launch up? And how to insure AdMob Sdk will never refresh the ad content in the background?
I think we cannot just hide the bannerView with just a statement:
bannerView.isHidden = true
And, as we know, AdMob SDK use IDFA. But Apple will deny an app which use IDFA but not showing Ads.
Google has guides on how to show up ads, but I cannot find information about how to stop showing ads from Google.
How to get this problem out?
The question is how to dismiss the bannerView or does not init it on
the next launch up? And how to insure AdMob Sdk will never refresh the
ad content in the background?
There are multiple ways to do this. One way I can think of is to add multiple targets in your Xcode project.
And the easier way, the more practical way - at least for me, is to prevent the requests for ads through GADRequest().
You can even do this even in AppDelegate, when setting Ids to your SDK.
That's it. You may also set nil to the delegate property of your bannerView.
And like what you've mentioned, just hide the bannerView's container, and everything should be perfect. I've worked on lots of applications with Admob, and I believe there should be no problem doing this approach.

How to forcibly show the Smart App Banner on Safari?

I just added a Smart App Banner to my site. It already showed one time, but I want to show it again for development purposes. As Apple says:
When the user returns to the webpage, the banner won’t reappear.
So how do I avoid this "cooldown" that the banner receives?

Does clicking an iOS iAd pause new ads from being fetched?

When an iAd banner is clicked, and the interactive ad doesn't leave the app, are ads still received by the app while the full screen ad is displayed? Or is receiving new ads suspended at this time?
It doesn't say either way in Apple's docs.
I ask because I want to give the app every chance to optimize the CTR (click-through rate), so I'm wondering if I should stop ads manually like this:
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner
willLeaveApplication:(BOOL)willLeave {
if(!willLeave) {
[self destroyAdBanner]; // to stop receiving new ads
}
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self createAdBanner]; // start receiving new ads again if not already
}
What is the official approach? An Apple reference would be greatly appreciated.
There is no official documentation that I can find, but from repeated trials after an ad banner is clicked and the full-screen ad appears and waiting for long periods of time, there are no further calls to any of the ad delegate methods until the user interaction terminates. It looks like no new ads are fetched while in user interaction mode.

Zero iAd requests for the lifetime of the app

I have incorporated ads into an iOS 7 iPad application using iAd system. And I have successfully tested ad integration - could see test advertisement for iAd. But I have never seen live ads since the application release in the App Store - iAd portal always shows 0 requests though the app status is "Live Ads".
I have implemented both interstitial and banner ads (landscape mode) and got ads with message "You're connected to iAd" while testing on a device and the simulator. However, I do not see any ads in the app after it is live in the App Store.
I have implemented interstitial ads as following:
// AppDelegate's application:didFinishLaunchingWithOptions:
[UIViewController prepareInterstitialAds];
// Controller's viewDidLoad:
self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;
// When a user transitions from one screen to another within an application:
[self requestInterstitialAdPresentation];
Banner ads as following:
// ViewController's viewDidLoad:
_bannerView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
_bannerView.delegate = self;
[self.view addSubview:_bannerView];
-(void)viewDidLayoutSubviews {
CGRect contentFrame = self.view.bounds, bannerFrame = CGRectZero;
bannerFrame.size = [_bannerView sizeThatFits:contentFrame.size];
if (_bannerView.bannerLoaded) {
bannerFrame.origin.y = 0.0;
} else {
bannerFrame.origin.y = -bannerFrame.size.height;
}
_bannerView.frame = bannerFrame;
}
I requested technical support from the DTS team, but they were unable to provide me any support on the issue and offered to contact the iAd Network Support Team which I had already done twice. They forwarded my request to an "appropriate team" a month ago and no reply since then. After following up the inquiry, they say that the iAd App Network team is still reviewing my request.
Any ideas how to resolve my issue, how to move on? Can it be an issue with my code?
I have an iPhone only application that only gets ads on the iPhone and on the iPad it does not get any ads. So I don't think you have an issue with actual code, also since you get the test ads in the simulator.
I would suggest you look at: iAd not working on iPad and iAd works in iPhone but not iPad.
Where are you live? Are you sure, what service iAd support your region and location for target advertisement?
*iAd campaigns currently run in Australia, Canada, France, Germany, Hong Kong, Ireland, Italy, Japan, Mexico, New Zealand, Russia, Spain, Switzerland, Taiwan, the United Kingdom and the United States
Also may be the situation, iAd don't have target asd for your location at the moment...
P.S. I'm from Russia and I saw iAd's banner only once...

When are these iAd delegate methods called?

Ok I am am using the delegate method
(void)bannerViewActionDidFinish:(ADBannerView *)banner
Being only test ads I cant test when it is called. I know it is called when the ad is closed with the X as i can click that in the test ad and it calls the delegate method. My question is, is it also called when the user interacts with the ad i.e clicks to download the advertised app or only when closed?
Also im trying understand the revenue from iAds.
if an ad is displayed in the bannerView on my app does that generate any revenue?
if an ad banner is clicked to load an ad does that generate any revenue?
if an ad banner is clicked to load an ad into full screen does count towards the CTR?
if an ad is loaded an interacted with does that generate any revenue and does that count towards the CTR?
Thanks
Ok I found the info i needed here is what i got:
Being only test ads I cant test when it is called. I know it is called when the ad is closed with the X as i can click that in the test ad and it calls the delegate method. My question is, is it also called when the user interacts with the ad i.e clicks to download the advertised app or only when closed?
The Delegate is called after the application is covered with an iAd and then returned to the application
Also im trying understand the revenue from iAds.
if an ad is displayed in the bannerView on my app does that generate any revenue?
If you show a developer iAd i.e a link to the AppStore to download an App, then you only get revenue when the iAd is clicked in the banner. If you show an iAd from a branded company i.e BMW you get revenue for having the iAd banner and more for it being clicked
if an ad banner is clicked to load an ad does that generate any revenue?
yes
if an ad banner is clicked to load an ad into full screen does count towards the CTR?
yes
if an ad is loaded an interacted with does that generate any revenue and does that count towards the CTR?
yes
Thanks

Resources