iOS
To manage a Thumbnail ad through Google Ad Manager mediation, Ogury provides a dedicated API that simplifies the integration process.
Initialize the Ogury SDK
When using a Consent Management Platform (CMP), it is recommended to wait for the CMP to establish the consent status before initializing the Ogury SDK.
To initialize the Ogury SDK, simply call the Ogury.start()
method.
Ogury.start(with: "OGY-XXXXXXXXXXXX") { success, error in
guard error == nil, success else {
// handle error here
return
}
// handle start here
}
The start()
method requires the Ogury asset key associated with your app. If you don’t have one, refer to the Getting Started guide.
Though optional, the StartCompletionBlock
is recommended. It provides callbacks for successful initialization or errors. If initialization fails, the listener returns an OguryError
with an error code
and localizedDescription
, helping you troubleshoot. The possible errors are defined in the OguryStartErrorCode
enum for easy reference.
OguryStartErrorCode
ModuleMissing
The SDK could not be started because a required SDK module is missing.
ModuleFailedToStart
The SDK could not be started because one of the required SDK modules failed to start.
Load a Thumbnail ad
To load a Thumbnail ad, instantiate an OguryThumbnailAdForGoogleMobileAds
object and call its load()
method.
By default, the ad loads with a maximum size of 180x180 points. If needed, you can customize the maximum size by following the guidelines provided in Customizing Thumbnail ad size section.
import UIKit
import OguryAds
class ViewController: UIViewController {
private(set) var thumbnailAd: OguryThumbnailAdForGoogleMobileAds!
override func viewDidLoad() {
super.viewDidLoad()
thumbnailAd = OguryThumbnailAdForGoogleMobileAds(adUnitID: "your Google Ad Manager ad unit ID")
thumbnailAd.load()
}
}
OguryThumbnailAdForGoogleMobileAds
requires the following parameter:
adUnitID
: the Google Ad Manager ad unit ID for the Thumbnail ad.
Register for callbacks
You can monitor the lifecycle of your Thumbnail ad by implementing the OguryThumbnailAdDelegate
protocol. This delegate provides real-time updates on key events, such as successful ad loading, display or errors.
To use it, set your class as the delegate of OguryThumbnailAdForGoogleMobileAds
and implement the necessary methods. This ensures timely notifications, allowing you to manage the ad experience effectively.
If the thumbnailAd:didFailWithError
callback is triggered, refer to the Error handling section below for detailed information on troubleshooting.
override func viewDidLoad() {
super.viewDidLoad()
thumbnailAd = OguryThumbnailAdForGoogleMobileAds(
adUnitID: "your Google AdMob ad unit ID"
)
thumbnailAd.delegate = self
thumbnailAd.load()
}
// Called when the ad is loaded and ready to be shown
func thumbnailAdDidLoad(_ thumbnailAd: OguryThumbnailAd) {
// Call show() to display the ad
}
// Called when an impression is recorded
func thumbnailAdDidTriggerImpression(_ thumbnailAd: OguryThumbnailAd) {
// Track ad performance here
}
// Called when the user clicks on the ad
func thumbnailAdDidClick(_ thumbnailAd: OguryThumbnailAd) {
// Handle ad click tracking here
}
// Called when the ad is closed
func thumbnailAdDidClose(_ thumbnailAd: OguryThumbnailAd) {
// Resume app flow after ad is closed
}
// Called when the ad fails to load or display
func thumbnailAd(_ thumbnailAd: OguryThumbnailAd,
didFailWithError error: OguryAdError) {
switch error.type {
case .load:
// Handle loading error
case .show:
// Handle display error
}
}
Show a Thumbnail ad
To display an loaded Thumbnail ad, invoke the show()
method on the instantiated OguryThumbnailAdForGoogleMobileAds
object.
By default, Thumbnail ad is aligned to the bottom-right corner, maintaining a margin of 20 points from the right edge and 150 points from the bottom.
Additionally, a Thumbnail ad is shown in a ViewController only if its bundle identifier matches the main bundle of the application. For details on how to customize these default settings using whitelists and blacklists, please see the Customizing Thumbnail ad display section
if thumbnailAd.isLoaded {
// The ad is loaded and ready to be displayed.
thumbnailAd.show(in: self)
} else {
// The ad is not loaded yet. Handle this situation appropriately.
}
Advanced Topics
Customizing Thumbnail ad size
To adjust the size of a Thumbnail Ad, use the load()
method with maxWidth
and maxHeight
parameters:
self.thumbnailAd.load(with: CGSize(width: maxWidth, height: maxHeight))
The maxWidth
and maxHeight
parameters specify the maximum dimensions, in points, that the Thumbnail ad will occupy on the screen.
Constraints:
maxWidth
andmaxHeight
cannot exceed the device’s screen size.Both
maxWidth
andmaxHeight
must be at least 101 points.The longest side, either
maxWidth
ormaxHeight
, must be at least 180 points.
Customizing Thumbnail ad display
Thumbnail ads remain visible while users navigate between ViewControllers in your application.
By default, a Thumbnail ad is shown in a ViewController only if its bundle identifier matches the main bundle of the application. However, you can customize these default settings using whitelists and blacklists.
Whitelist bundles
You can expand the list of whitelisted bundles where Thumbnail ads can be displayed and remain on-screen. This is particularly useful if your app includes ViewControllers provided by a library, such as a game engine. In this case, you will need to whitelist the associated bundle.
To whitelist bundles, call the setWhitelistBundleIdentifiers
method:
self.thumbnailAd.setWhitelistBundleIdentifiers(["com.example.bundle", "com.example.bundle2"])
Blacklist View Controllers
To prevent Thumbnail ads from being displayed in specific ViewControllers, use the setBlacklistViewControllers
method:
self.thumbnailAd.setBlacklistViewControllers([NSStringFromClass(TermsAndConditionsViewController.classForCoder()), NSStringFromClass(SettingsViewController.classForCoder())])
When a user navigates to a ViewController that is neither in the whitelisted bundles nor explicitly blacklisted, the Thumbnail ad will be hidden and paused. It will reappear when the user returns to a permitted ViewController.
Error handling
If you are unable to load or display any Thumbnail ads, we recommend logging callbacks from the OgurythumbnailAdDelegate
to monitor the ad's lifecycle, especially the thumbnailAd:didFailWithError
callback. This method provides an an OguryAdError
instance containing important error details:
type
: indicates the error type through theOguryAdErrorType
enum, which distinguishes between loading errors (OguryAdErrorTypeLoad
) and showing errors (OguryAdErrorTypeShow
).code
: An integer that identifies the specific error. The enumsOguryLoadErrorCode
andOguryShowErrorCode
define potential error codes that may occur during loading or showing ads. Further details on these enums are provided in the tables below.localizedDescription
: A descriptive message that provides additional context about the error.
You can utilize these details to diagnose the issue and take appropriate action to resolve it.
Last updated
Was this helpful?