Initialization

Add, import, and configure AATKit

Configure AATKit

Before loading ads, the app must initialize AATKit first. This only needs to be done once, ideally at the app launch. You should call the AATKit.init(configuration) as early as possible in order to ensure optimal ad performance. We advise doing it in your application's onCreate method.

Call the initialization method with an AATKitConfiguration instance which contains the necessary configuration data needed to initialize AATKit. Through AATKit.Delegate, you can listen to AATKit callbacks such as obtaining rules and unknown bundleID events.

AATKitConfiguration configuration = new AATKitConfiguration(this);
configuration.setDelegate(this); //optional, pass the implementation of AATKit.Delegate to listen to callbacks
AATKit.init(configuration);

Handling Activity lifecycle

It is required to pass the Activity lifecycle events to AATKit before starting to request ads from placements. You should override onResume() and onPause() methods in every Activity of your app.

Make sure to only pass lifecycle events of Activities belonging to your application. Using ActivityLifecycleCallbacks and passing lifecycle callbacks for also ad Activities (like the ones belonging to ad networks and used for presenting fullscreen ads) will cause issues.

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

Notify about activity resume

@Override
protected void onResume() {
    super.onResume();
    AATKit.onActivityResume(this);
}

Notify about activity pause

@Override
protected void onPause() {
    AATKit.onActivityPause(this);
    super.onPause();
}

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 AATKitRuntimeConfiguration.

AATKitRuntimeConfiguration newConfiguration = new AATKitRuntimeConfiguration();
newConfiguration.setConsentRequired(true);
newConfiguration.setConsent(new SimpleConsent(NonIABConsent.OBTAINED));
newConfiguration.setUseGeoLocation(true);
AATKit.reconfigure(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 AATKitConfiguration object. The testModeAccountId will be sent to you via email after registering at Gravite.

AATKitConfiguration configuration = new AATKitConfiguration(this);
configuration.setDelegate(this);
configuration.setTestModeAccountId(<TEST_MODE_ID>);
AATKit.init(configuration);

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 recognises 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 AATKitConfiguration object. But: before you can use the alternative bundle ID properly, please make sure that our support 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 AATKitConfiguration object to false.

configuration.setAlternativeBundleId("com.alternativeBundleId");

// if you still need to report on the physical bundleID call this:
// configuration.setShouldReportUsingAlternativeBundleId(false); 

If you decided to use an alternative bundle ID, please get in touch with our support.

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.

AATKit.setLogLevel(Log.VERBOSE);

Debug

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

AATKit.setLogLevel(Log.DEBUG);

Info

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

AATKit.setLogLevel(Log.INFO);

Warn

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

AATKit.setLogLevel(Log.WARN);

Error

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

AATKit.setLogLevel(Log.ERROR);

Obtaining debug logs in already built apps

If you would want to obtain more debug logs from AATKit without recompiling the app, paste the following line:

adb shell setprop log.tag.AATKit VERBOSE

into the terminal when your testing device is attached. You can also choose different log level, like DEBUG.

Last updated