Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Prerequisites

  1. https://refinery89.atlassian.net/wiki/x/A4DVSQ

  2. https://refinery89.atlassian.net/wiki/x/BgDOSQ

You can show interstitial in many different places but we are going to discuss not where but how to show it. But first let’s explain a crucial concept.

Anchor
afterInterstitial
afterInterstitial
After Interstitial

This is not passed as a separated object like the other Events because is mandatory to handle what happens after an Interstitial is closed. This is invoked in the SDK when:

...

  • Everything went right and the user just closed the full screen ad.

  • The ad hasn't loaded yet and you tried to show it.

  • The ad has been Invalidated and you tried to show it. Gets invalidated when:

    • Fails to load.

    • Already shown.

    • Too Long without showing it.

  • The ad failed to show.

Load, wait, then Show the Ad

...

on Event

This way is much more efficient since the show is immediate as the user performs the action.

So consider a scenario where a button click triggers an Interstitial and, subsequently, the NewActivity is launched from MainActivity.

Load

Load then wait for the user to take an action on your app

Code Block
languagekotlin
#MainActivity.kt->onCreate()
val interstitialConfigId = ConfigBuilder.INTERSTITIAL_TEST_R89_CONFIG_ID
val activityToShowOver = this

var interstitialId = RefineryAdFactory.createInterstitial(
interstitialConfigId, 
activityToShowOver, 
afterInterstitial = {
    // Here you could load the next activity or fragment. Basically recover app flow
    Log.d("Interstitial", "After Interstitial")
    //Example
    val newActivityIntent = Intent(this, NewActivity::class.java)
    startActivity(newActivityIntent)
})

Show On Button Press

First some Some event takes place in you app, such as a button press, tab change or opening a link, screen transition.

Note

If the Interstitial hasn’t Loaded yet or failed to load when you call show() method, afterInterstitial event will be called to recover app flow.

Code Block
languagekotlin
#MainActivity.kt->onCreate()
//Example of a button press
findViewById<Button>(<YOUR_BUTTON_ID>).setOnClickListener
{
    RefineryAdFactory.show(interstitialId)
}

Load & Show on

...

Event

Warning

This will increase the time it takes to show the interstitial and then recover app flow.

Because its making the Ad Request when the user takes the action. You should use the previous approach where we make the request and store the ad ID for instant showing it when the user performs the actions.

This is how we use Interstitial we use in Demos because it’s pretty good at showing that it works but nothing more

...

OnClose is not present because we have an after interstitial event that is mandatory to pass as a parameter and holds the same functionality that OnClose with special cases.

...

This is not passed as a separated object like the other Events because is mandatory to handle what happens after an Interstitial is closed. This is invoked in the SDK when:

...

Everything went right and the user just closed the full screen ad.

...

The ad hasn't loaded yet and you tried to show it.

...

The ad has been Invalidated and you tried to show it. Gets invalidated when:

  • Fails to load.

  • Already shown.

  • Too Long without showing it.

...

.