This guide shows how to display Interstitial Ads in your application.
What are Interstitial Ads?
Interstitial Ad Units are full-screen, interactive ads designed to be placed between content at a natural transition point.
How to Display Interstitial Ads
Integrate & Initialize HyprMX
Before you start, make sure you have correctly integrated and initialized the HyprMX SDK. To integrate and initialize HyprMX, see our Setup Guide.
Loading Interstitial Ads
HyprMX utilizes placements to load and display an ad. Placements are used to represent a point in your application's workflow where you'd like to show an ad. To load an ad to a placement, follow the steps below.
If you don't have your placement information, please reach out to your account manager to configure your interstitial placements. In return, they will provide the names of the new placements.
Use the getPlacement API to retrieve a placement from HyprMX.
interstitialPlacement.loadAd(newHyprMXLoadAdListener() { @OverridepublicvoidonAdLoaded(boolean isAdAvailable) {if(isAdAvailable) {// You can show the ad } }});
interstitialPlacement.loadAd(isAdAvailable -> {if(isAdAvailable) {// You can show the ad }});
interstitialPlacement.loadAd { isAdAvailable ->if(isAdAvailable) {// You can show the ad }}
val isAdAvailable = interstitialPlacement.loadAd()if(isAdAvailable) {// You can show the ad}
loadAd() will call back to your listener with: isAdAvailable == true when an ad is available or false when there is no inventory.
To receive notification that the loaded ad has expired, implement the HyprMXPlacementExpiryListener
privateHyprMXPlacementExpiryListener listener =newHyprMXPlacementExpiryListener() { @OverridepublicvoidonAdExpired(@NonNullPlacement placement) {// Do something on expiration }}interstitialPlacement.setPlacementExpiryListener(listener);
interstitialPlacement.setPlacementExpiryListener(placement -> {// Do something on expiration});
val listener =object : HyprMXPlacementExpiryListener {overridefunonAdExpired(placement: Placement) {// Do something on expiration }}interstitialPlacement.setPlacementExpiryListener(listener)
Displaying Interstitial Ads
Before calling showAd on a placement, you should confirm the ad state is still valid:
interstitialPlacement.isAdAvailable();
interstitialPlacement.isAdAvailable()
When an ad is displaying, it is important to disable all in-game music and sounds so they do not interfere with the advertisements. You can disable them when your activity transitions to onStop and resume when your activity transitions to onResume.
When you are ready to display an ad, call showAd to begin the presentation of an ad.
if (interstitialPlacement.isAdAvailable()) {interstitialPlacement.showAd(this);}
if (interstitialPlacement.isAdAvailable()) { interstitialPlacement.showAd(this)}
To receive display status, implement the HyprMXShowListener:
/** * Called when an ad is shown for the given placement. Your application should pause here. */@OverridepublicvoidonAdStarted(Placement placement) {}/** * Called when an ad is closed. Your application should resume here. */@OverridepublicvoidonAdClosed(Placement placement,boolean finished) {}/** * Called when there was an error displaying the ad. */@OverridepublicvoidonAdDisplayError(Placement placement,HyprMXErrors hyprMXError) {}/** * Called when the ad was impressed. */@OverridepublicvoidonAdImpression(Placement placement) {}
/** * Called when an ad is shown for the given placement. Your application should pause here. */overridefunonAdStarted(placement: Placement) {}/** * Called when an ad is closed. Your application should resume here. */overridefunonAdClosed(placement: Placement, finished: Boolean) {}/** * Called when there was an error displaying the ad. */overridefunonAdDisplayError(placement: Placement, hyprMXError: HyprMXErrors) {}/** * Called when the ad was impressed. */overridefunonAdImpression(placement: Placement) {}
If you'd like, we can send server-to-server calls when ads are completed. Contact your account manager at HyprMX for more details.