Auto Load banner placement is our most recent implementation of a banner that serves as a container for banner ads. It is commonly used as a static, constantly shown part of the app’s presentation. The ad content of the banner changes over time depending on the Refresh Rate placement setting on Gravite dashboard.
val placement = AATKit.createAutoLoadBannerPlacement("<PLACEMENT_NAME", BannerPlacementSize.Banner320x53)
You have to specify a placement name and the size argument of the type BannerPlacementSize which specifies the size of the ad to be displayed.
Determine the Appropriate Banner Size
To ensure you choose the best banner size for a device, use the following API to determine whether the device is a tablet. This information will help you select the optimal banner size for the device type.
You will receive different placement callbacks by implementing the AutoLoadBannerPlacementListener.
@Override
public void onPauseForAd(@NonNull Placement placement) {
// Ad went fullscreen and that application should pause.
}
@Override
public void onResumeAfterAd(@NonNull Placement placement) {
// Ad came back from fullscreen and that application should resume.
}
@Override
public void onHaveAd(@NonNull Placement placement) {
// The placement has loaded a new ad
}
@Override
public void onNoAd(@NonNull Placement placement) {
// The placement could not load a new ad
}
override fun onPauseForAd(placement: Placement) {
// Ad went fullscreen and that application should pause.
}
override fun onResumeAfterAd(placement: Placement) {
// Ad came back from fullscreen and that application should resume.
}
override fun onHaveAd(placement: Placement) {
// The placement has loaded a new ad
}
override fun onNoAd(placement: Placement) {
// The placement could not load a new ad
}
Get the Banner View
The autoload banner placement provides a banner ad view once and will keep responsible for refreshing the displayed ad content over time. So, once you’ve created the placement, get the ad container view via method getPlacementView() and display it on the screen. The placement will update the view content every time it has got a new ad.
val bannerView = placement.getPlacementView()
myBannerFrame.addView(bannerView)
Request Ad
You can load ads for the autoload banner placement automatically.
If you do not set the refresh time interval seconds on the dashboard, AATKit will:
Reload every 30 seconds.
respect the refresh time interval setting of the Dashboard (which means, you can configure the interval without having to re-publish your app).
Note: please make sure to disable (or not enable) automatic banner refresh at your ad networks of choice. Otherwise, the different auto reloads would interfere with each other.
// reload the banner placement every 30 seconds.
placement.startAutoReload();
// reload the banner placement every 30 seconds.
placement.startAutoReload()
The minimum refresh time is 30 seconds.
This needs to stop the auto-reload when it is no longer needed (e.g. if the view controller presenting ads will disappear):
placement.stopAutoReload();
placement.stopAutoReload()
One Placement for Multiple Screens
If the same placement is used on various different pages of the app and you want to load a new ad every time the user navigates to another page, you can achieve that by calling stopAutoReload() in the first controller and then call startAutoReload() in the next controller. This will immediately load and present a banner ad.
placement.stopAutoReload();
// move to next screen
placement.startAutoReload();
placement.stopAutoReload();
// move to next screen
placement.startAutoReload();
Complete Code Example
private AutoLoadBannerPlacement placement = AATKit.createAutoLoadBannerPlacement("<PLACEMENT_NAME>", BannerPlacementSize.Banner320x53);
@Override
protected void onResume() {
super.onResume();
// [IMPORTANT] Notify AATKit about activity lifecycle
AATKit.onActivityResume(this);
// Set placement listener to listen to the callbacks
placement.setListener(this);
// Get the banner view
View bannerView = placement.getPlacementView();
myBannerFrame.addView(bannerView);
// reload the banner placement every 30 seconds.
placement.startAutoReload();
}
@Override
protected void onPause() {
// [IMPORTANT] Stop placement auto-reload
placement.stopAutoReload();
// [IMPORTANT] Notify AATKit about activity lifecycle
AATKit.onActivityPause(this);
super.onPause();
}
// AutoLoadBannerPlacementListener implementation
@Override
public void onPauseForAd(@NonNull Placement placement) {
// App is paused after banner got clicked
}
@Override
public void onResumeAfterAd(@NonNull Placement placement) {
// Back to the app after clicking on the ad
}
@Override
public void onHaveAd(@NonNull Placement placement) {
// The placement has loaded a new ad
}
@Override
public void onNoAd(@NonNull Placement placement) {
// The placement could not load a new ad
}
private val placement = AATKit.createAutoLoadBannerPlacement("<PLACEMENT_NAME", BannerPlacementSize.Banner320x53)
protected override fun onResume() {
super.onResume()
// [IMPORTANT] Notify AATKit about activity lifecycle
onActivityResume(this)
// Set placement listener to listen to the callbacks
placement.listener = this
// Get the banner view
val bannerView = placement.getPlacementView()
myBannerFrame.addView(bannerView)
// reload the banner placement every 30 seconds.
placement.startAutoReload()
}
protected override fun onPause() {
// [IMPORTANT] Stop placement auto-reload
placement.stopAutoReload()
// [IMPORTANT] Notify AATKit about activity lifecycle
onActivityPause(this)
super.onPause()
}
// AutoLoadBannerPlacementListener implementation
fun onPauseForAd(placement: Placement) {
// App is paused after banner got clicked
}
fun onResumeAfterAd(placement: Placement) {
// Back to the app after clicking on the ad
}
fun onHaveAd(placement: Placement) {
// The placement has loaded a new ad
}
fun onNoAd(placement: Placement) {
// The placement could not load a new ad
}