0

I'm showing interstitials by using destinationVC.interstitialPresentationPolicy = ADInterstitialPresentationPolicy.Automatic before I actually show the destintion view controller.

How am I supposed to detect if an interstitial loaded? I need to know so I can know if I should reset a timer that let's me show interstitials every few minutes.

It's weird - even with 100% fill rate enabled in my developer settings, my interstitial doesn't always show...

I tried implementing ADInterstitialDelegate but it seems interstitialDidLoad doesn't actually execute?

Max
  • 597
  • 7
  • 21
  • By default InterstitialPresentationPolicy is automatic , you don't need to set that .Its not mandatory that adds will be available from apple every time , adds will be shown if available otherwise not . – Muhammad Adnan Jul 08 '15 at 04:27
  • To clarify, I'm not trying to change the way interstitials are displayed, I'm simply trying to track whether or not an interstitia l was displayed successfully. The automatic presentation policy works fine as is. – Max Jul 08 '15 at 08:24
  • http://stackoverflow.com/questions/20741622/iads-interstitial-adverts-on-iphone – Muhammad Adnan Jul 10 '15 at 09:36

1 Answers1

-2

For the fillrate, are you talking about test ads or live ads? iAd has a very low live ads fill rate and is even not supported at all in many countries...

For the delegate, did you assign the delegate e.g.

self.interstitial.delegate = self;

Assign it and do an NSLog for example in the delegate methods like in interstitialDidLoad to test if it s called...

P.S. A timer to fire ads isn t really a good idea... Ads should be fired after an action by a user, at a specific time regarding the app lifecycle / usage and should not interrupt, what would obviously happen if you use a timer...

Kreuzberg
  • 894
  • 1
  • 9
  • 18
  • Test ads. What do you mean by 'self.interstitial'? Not sure what that is referencing. I'm not creating a custom class for the interstitiala, I'm only setting my view controller's interstitialPresentationPolicy to automatic. Also, the timer simply keeps track of *if* an ad should be showed at a given transition. The timer isn't actually triggering the ads. – Max Jul 08 '15 at 08:24
  • you need to set your interstitial.delegate property, otherwise delegate callbacks won t work... – Kreuzberg Jul 08 '15 at 08:36
  • I still don't understand - what is the variable 'interstitial' you are a referencing? – Max Jul 08 '15 at 09:01
  • @Max : Did you find anything about this interstitial property at all. I dont think so it exist by default. I am having same issue. even if I am using my presentation policy to manual, How to I get hold of delegate, I want to preform some actionhen user closes the ad. I also creates AdInterstitialAd in appDelegate but now ads are not being shown. What a vicious circle. any help ? – Alok C Oct 04 '15 at 02:48
  • @Kreuzberg : Where this interstitial property is coming from. Can you please explain. – Alok C Oct 04 '15 at 02:50
  • I am using AdMob meanwhile, but I guess it s the same with iAd... it is just the object... the interstitial... with that object i do things like reauest an ad selt.interstital.requestAd and react on delegate calls like "interstitalDidReceiveAd" then i do self.interstitial.show... as I said that is AdMob... I was using mopub in the past... it s also the same... dunno about iAd didn t used it since iOS5... dunno if it changed ... but i guess it s the same... you have your interstitial object, assign the delegate and react on delegate calls, like show the interstital when it s loaded and so on... – Kreuzberg Oct 04 '15 at 23:24
  • the question was: iAd Interstitial: Determining if ad was shown? --- and you get this by delegate callbacks... to get these callbacks you need to set the delegate to your interstitial object... https://developer.apple.com/library/ios/documentation/iAd/Reference/ADInterstitialAdDelegate_Ref/index.html#//apple_ref/swift/intf/c:objc(pl)ADInterstitialAdDelegate – Kreuzberg Oct 04 '15 at 23:27
  • @Kreuzberg ADInterstitialPresentationPolicy.Automatic implementation does not require you have your own interstitial object, it manages it for you. – Jack C Feb 10 '16 at 04:37
  • @Kreuzberg they are asking how to catch delegate methods when it is auto managed – Jack C Feb 10 '16 at 04:37