Initialization

Add, import, and configure AATKit

Configure AATKit

Before loading ads, the app must initialize AATKit first. This only needs to be done once per app session, ideally at the app launch. You should call the initAATKit(with configuration: AATConfiguration?) as early as possible to ensure optimal ad performance.

Call the initialization method with an AATConfigurationarrow-up-right instance which contains the necessary configuration data needed to initialize AATKit. Through AATDelegatearrow-up-right, you can listen to AATKit callbacks such as obtaining mediation rules from the backend or unknown bundleID events.

let configuration = AATConfiguration()
configuration.delegate = self
AATSDK.initAATKit(with: configuration)
circle-info

You can add some extra configurations for some ad networks using AATAdNetworksOptionsarrow-up-right. For more information, see Ad Networks section.

Reconfigure AATKit

AATKit enables reconfiguring it at runtime. This might be needed for some cases like reacting to consent changes or geo-location settings changes. To reconfigure AATKit, use the reconfigure public API passing an instance of AATRuntimeConfigurationarrow-up-right.

let newConfiguration = AATRuntimeConfiguration()
newConfiguration.consentRequired = true
newConfiguration.consent = AATSimpleConsent(nonIABConsent: .obtained)
newConfiguration.isUseGeoLocation = true
AATSDK.reconfigure(configuration: newConfiguration)

Test Mode

AATKit’s test mode provides ads even before your app has been set up at Gravite. This is convenient for testing your integration Please use your testModeAccountId to activate the test mode. Set the testModeAccountId in your AATConfigurationarrow-up-right object. The testModeAccountId will be sent to you via email after registering at Gravitearrow-up-right.

let configuration = AATConfiguration()
configuration.delegate = self
configuration.testModeAccountId = <TEST_MODE_ID>
AATSDK.initAATKit(with: configuration)
circle-info

Make sure to remove the testModeAccountId from your AATConfiguration object, before you publish your app to the AppStore. Otherwise, your app will not earn any ad revenue.

Using an Alternative bundle ID

Gravite recognizes and identifies your app using its bundle ID. Should you need to use a different bundle ID for publishing or testing or other purposes, you can override the default bundle ID of your app by setting an "alternative bundle ID" for the AATConfigurationarrow-up-right object. But: before you can use the alternative bundle ID properly, please make sure that our supportenvelope has set up your app for the alternative bundle ID, as this is not a standard procedure.

AATKit will do dashboard reporting using your alternative bundle ID by default if you set it.

If for any reason reporting should still be done using your app's real bundle Id, you can set the shouldReportUsingAlternativeBundleId property of the AATConfigurationarrow-up-right object to false.

circle-info

If you decide to use an alternative bundle ID, please contact our supportenvelope.

Handling (multiple) View Controllers

Set the currently active view controller for AATKit before requesting ads from placements. You should set the view controller in your view controller viewDidAppear(_ animated: Bool) lifecycle method.

circle-info

Placements will not start loading ads before having the current view controller passed to AATKit.

Set the Current View Controller

Remove the Current View Controller

Log Levels

AATKit supports the following log levels:

Verbose

Verbose-level messages are intended to capture verbose, debug, info, warning and error messages. It’s convenient in an intensive development environment.

Debug

Debug-level messages are intended to capture debug, info, warning and error messages. It’s convenient in a normal development environment.

Info

Info-level messages are intended to capture info, warning and error messages. Info-level may be helpful but isn’t enough for troubleshooting.

Warn

Warn-level messages are intended to capture warning and error messages only.

Error

Error-level messages are intended to capture error messages only.

Last updated