self.amViewInter = [[GADInterstitial alloc] initWithAdUnitID:@"xx"];
[self.amViewInter setDelegate:self];
[self.amViewInter loadRequest:[GADRequest request]];
After I have presented and dismiss the interstitial, the delegate method is called. I prepare a new interstitial here.
a
- (void)interstitialDidDismissScreen:(GADInterstitial *)ad {
NSLog(@"did dismiss interstitial");
self.amViewInter.delegate=nil;
self.amViewInter = [[GADInterstitial alloc] initWithAdUnitID:@"x"];
[self.amViewInter setDelegate:self];
GADRequest *request = [GADRequest request];
[self.amViewInter loadRequest:[GADRequest request]];
}
The strange thing now is that 5 out of 10 cases, the delegate method gets called repeatingly by itself directly after the new load request has been done, getting in an infinite loop... The code above worked fine the last 2 years with the older SDK's...
Looking forward to a quick resolution.
Thanks
Interesting...I’m also seeing the same behaviour and also using code that’s been used for a couple of years. Running on iOS 9.1 / iPhone 6s and using the AdMob Mediation Adaptor for iAds v6.6.0.
For non-iAd interstitials after making the interstitial request I see the expected sequence of delegate method calls interstitialDidReceiveAd (or didFailToReceiveAdWithError), interstitialWillPresentScreen, interstitialDidDismissScreen. For iAd interstitials I receive an interstitialDidDismissScreen call that’s not triggered by the user and no interstitialDidReceiveAd (or didFailToReceiveAdWithError).
This is the stack trace I see for an iAd interstitialDidDismissScreen
This is the stack trace I see for a non-iAd interstitialDidDismissScreen