Interstitial
Showing the interstitial
The AppBrain interstitial is the main way to generate revenue with the AppBrain SDK. The interstitial will show your users a list of apps they can install for free. Each app a user installs from the interstitial will generate revenue for you. Occasionally the SDK will show a pre-interstitial where the user is first asked if he’s interested in downloading interesting apps.
The best moment to show the interstitial is at a natural pause moment in your app, for instance when an important event just has completed, such as sending a photo or finishing a game level, or when leaving the app.
The easiest way to create an interstitial is using the
InterstitialBuilder
class. We recommend creating the InterstitialBuilder in your activity’s onCreate(), so it can
start loading in the background. Then, for example in a view’s OnClickListener, you can show the
interstitial using InterstitialBuilder.show().
Instead of calling show() you can also call maybeShow(). When using that method, the AppBrain
SDK automatically makes sure the interstitial is only shown occasionally, which is why maybe is in
the method name. Therefore it’s safe to call this method in multiple places without having to do
your own rate limiting.
In-app interstitial
If you want a specific action to happen after a user closes the interstitial, you can set an
onDoneCallback in InterstitialBuilder. This callback is always called after you try to show the
interstitial, also when the interstitial fails to load, so you can safely put the next step of your
application flow in there.
Here is an example of how to show the interstitial in a game at the end of a level, and start the next level when the user closes the interstitial:
private InterstitialBuilder interstitialBuilder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Preload the AppBrain interstitial. Settings the AdId is optional,
// but highly recommended. You can also create a custom AdId for your
// publisher app on our dashboard under "Ad settings".
interstitialBuilder = InterstitialBuilder.create()
.setAdId(AdId.LEVEL_COMPLETE)
.setOnDoneCallback(new Runnable() {
@Override
public void run() {
// Preload again, so we can use interstitialBuilder again.
interstitialBuilder.preload(getContext());
loadNextLevel();
}
})
.preload(this);
}
public void onLevelCompleted() {
interstitialBuilder.show(this);
}
To get a more detailed look at this example, see In-depth look at interstitials.
Interstitial on app exit
To show the interstitial when the user leaves your Activity, first create an InterstitialBuilder
in onCreate():
private InterstitialBuilder interstitialBuilder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
interstitialBuilder = InterstitialBuilder.create().setAdId(AdId.EXIT)
.setFinishOnExit(this).preload(this);
}
Then, you can show the interstitial when the back button is pressed:
@Override
public void onBackPressed() {
if (!interstitialBuilder.show(this)) {
super.onBackPressed();
}
}
Note however, that if your activity puts fragments on the FragmentManager back stack, you should
make sure the back stack is empty before showing the interstitial:
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0
|| !interstitialBuilder.show(this)) {
super.onBackPressed();
}
}
This examples and more options are discussed in detail on the in-depth interstitial page.