Skip to content
No description, website, or topics provided.
Objective-C Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



A minimal app that fetches and displays banner ads. The goal is to test various preloading techniques and debug visibility issues like early auto-play. The UI is designed to mimic Flipboard.


This project uses Cocoapods to import the iOS GoogleMobileAds SDK. Run the pod update command and then open the generated .xcworkspace file.


The app has a bottom bar with three buttons:


Cancels in-progress fetching/preloading and deletes downloaded ads.


Fetches a new ad with the unit ID selected in Settings.

If "Auto-Present" is off, the "Fetch" button will turn into a "Present" button once the ad finishes fetching/preloading.


Unit ID
The unit ID used for ad fetches.
Enables a hack that forces banner ads to preload before they appear. Banners are attached to the main window behind other views until they finish preloading, or a max time is reached (5 seconds).
Outside Screen Bounds
Preload the banner outside of the screen's bounds. Specifically, origin.x is set to the screen width.
In Detached Parent View
Preload the banner inside a parent view that's not part of the view hierarchy.
Wait for Completion Event
Preload the banner until it sends a completion event to the app. When disabled the creative will load for a constant amount of time (currently 5 seconds).
Hide Afterwards
Hide the banner after downloading and preloading finishes, and then unhide when presented.
Remove From Parent Afterwards
Remove the banner from its parent view after downloading and preloading finishes.
Inject Visibility Javascript
Inject javascript when the ad is presented to let it know that it's *actually* visible. Creatives can be modified to delay autoplay until this happens.
Automatically display ads when they finish downloading and preloading. Turn this off to help isolate activity that happens before ads appear.
Manual Impressions
Manually report impressions rather than letting the SDK do it automatically.
You can’t perform that action at this time.