Android App-Open Example
In the example below, a full-screen ad is displayed when the app is launched or foregrounded.
class DemoApplication :
Application(),
Application.ActivityLifecycleCallbacks,
DefaultLifecycleObserver {
private var currentActivity: Activity? = null
private var ad = FuseFullScreenAdView(this, "<zone_code>").apply {
listener = object : FuseFullScreenAdViewListener {
override fun onEvent(
adView: FuseFullScreenAdView,
event: FuseAdViewEvent,
) {
FuseLoggingUtil.d("The full-screen ad event: $event")
}
}
}
override fun onCreate() {
super<Application>.onCreate()
registerActivityLifecycleCallbacks(this)
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
}
override fun onStart(owner: LifecycleOwner) {
super.onStart(owner)
// Show the ad (if available) when the app moves to foreground
currentActivity?.let {
ad?.show(it, 1000)
}
}
// ActivityLifecycleCallback methods
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
override fun onActivityStarted(activity: Activity) {
// Updating the currentActivity only when an ad is not showing
if (activity !is AdActivity) {
currentActivity = activity
}
}
override fun onActivityResumed(activity: Activity) {}
override fun onActivityPaused(activity: Activity) {}
override fun onActivityStopped(activity: Activity) {}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}
}