Interstitial Ads and Frequency capping?

1,498 views
Skip to first unread message

Brian F

unread,
Feb 18, 2016, 4:59:01 PM2/18/16
to Google Mobile Ads SDK Developers
I'm trying to understand frequency capping a little better.

I've got an app that I just added interstitial ads to.  I currently have the frequency capping set for the Interstitial Ad.  The settings are no cap on the Ad Level, and 1 impr/ 3 minutes for App level.  Whenever I view the viewcontroller where the interstitial ad is called, it loads it up... regardless of the frequency settings.  I would assume I should get an ad approximately once every 3 minutes or so.  Or am I not understanding how this works?

Here's the code I'm using:

Here's the line in AppDelegate in did FinishLaunchingWithOptions:

        let userDefaults = NSUserDefaults.standardUserDefaults()


        if userDefaults.boolForKey("adRemoval") {


        } else {


            myInterstitial = createAndLoadInterstitial()


        }



 

and further down, some methods:

    func createAndLoadInterstitial()->GADInterstitial {


        let interstitial = GADInterstitial(adUnitID: ADMOB_ADUNITID_INTER)


        interstitial.delegate = self


        interstitial?.loadRequest(GADRequest())


        return interstitial


    }


   


    func interstitialDidReceiveAd(ad: GADInterstitial!) {


        print("interstitialDidReceiveAd")


    }


   


    func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) {


        print(error.localizedDescription)


    }


   


    func interstitialDidDismissScreen(ad: GADInterstitial!) {


        print("interstitialDidDismissScreen")


        myInterstitial = createAndLoadInterstitial()


    }



and in the viewcontroller that loads the interstitial, I have this in viewDidAppear

        let userDefaults = NSUserDefaults.standardUserDefaults()


        if userDefaults.boolForKey("adRemoval") {


        } else {


            print("Google Mobile Ads SDK version: " + GADRequest.sdkVersion())


            appDelegate.myInterstitial?.presentFromRootViewController(self)


        }



Does Admob not actually meter the interstitial ads or am I doing something wrong?



Vu Chau (Mobile Ads SDK Team)

unread,
Feb 19, 2016, 9:47:29 AM2/19/16
to Google Mobile Ads SDK Developers
Hi Brian,

The code snippets you provided seem reasonable to me.  I would expect frequency capping to take effect here.  Quick question though, when you set it to 1 impression per every 3 minutes on an app level, each time you see an interstitial ad, is it a different one or the same ad that is repeatedly shown?  As per my understanding, frequency capping is used to limit the number of times the user would see the same ad in a given time, so if you would like to not show any interstitial in the 3-minute intervals, you might want to get more granular and set it at an ad unit level instead (if your app has more than one interstitial ad units; and if so, the server will cycle through all of them).  My best guess here is that an ad unit can serve multiple different interstitial ads, so a frequency capping limits the number of impressions registered from the same interstitial ad.

Vu Chau
Mobile Ads SDK Team

Brian F

unread,
Feb 19, 2016, 1:50:18 PM2/19/16
to Google Mobile Ads SDK Developers
Ah, ok.  That was the missing piece, then.  The admob documentation just says "Limits the number of times ads are shown...".  It doesn't say it limits a specific ad from being repeated.  That makes sense, though.

I went ahead and turned off the caps and coded in a random chance to display the interstitial ad in my own code.  I'll go back and revisit the frequency capping once I understand it a little better.

Thank you!

 - Brian

hanif

unread,
Mar 18, 2018, 9:05:22 AM3/18/18
to Google Mobile Ads SDK Developers
ad showing system should be automated control by google ad or admob self its make confusion every time so i chose banner ads its also not effect user
Reply all
Reply to author
Forward
0 new messages