Next Engage (Beta)

Overview

Next Engage enhances user engagement by providing seamless content discovery. When users interact with your chosen trigger action, a full-screen webview opens with additional content. As users navigate back, they're presented with personalized recommendations, creating an immersive browsing experience that keeps them engaged longer.

🚧

Basic requirements

Before you start, make sure that you meet the basic requirements:

  1. You are using Android Classic as your integration method.
  2. You are using Taboola SDK 4.0.26 or higher.
  3. Your Taboola Account Manager has instructed you to go ahead with the Taboola SDK integration.

Need a hand? Please reach out to your Taboola Account Manager.

First steps

Complete the Basic Integration steps first.

Enable the feature

Create Next Engage using the TBLClassicPage instance that you have already created.

🚧

One instance per page

Only one instance of Next Engage can be initialized per page and opened once.

initExploreMore initializes the Next Engage unit, starts loading content in the background, and returns a TBLExploreMoreCTAButton that you can optionally add to your layout.

TBLExploreMoreCTAButton ctaButton = page.initExploreMore(
    context, 
    tblExploreMoreListener, 
    placementName, 
    mode, 
    customSegment,
    fragmentManager);
val ctaButton = page.initExploreMore(
    context,
    tblExploreMoreListener,
    placementName,
    mode,
    customSegment,
    fragmentManager)
📘

Parameters

  • context - The Android Context.
  • tblExploreMoreListener - A class instance that listens for Taboola SDK Next Engage events (i.e. extends TBLExploreMoreClassicListener).
  • placementName - The placement name, as provided by Taboola - e.g. "Feed - Explore more".
  • mode - The UI Mode ID of the placement, as provided by Taboola - e.g. "thumbs-feed-01".
  • customSegment - Optional. Custom segment for loading Next Engage content. See Custom Segments.
  • fragmentManager - The Android FragmentManager.
📘

Return value

initExploreMore returns a TBLExploreMoreCTAButton instance. See CTA Button below for details.

CTA Button

initExploreMore returns a TBLExploreMoreCTAButton — a pre-built view containing a styled "Explore More" button and a close (X) button.

Behavior:

  • Tapping the CTA button opens the Next Engage bottom sheet (internally calls showExploreMore).
  • Tapping the close (X) button removes the CTA from the layout.
  • The CTA is automatically removed when Next Engage is shown (whether via the CTA button itself, a manual showExploreMore call, or the back button trigger).

Recommended usage: Add the CTA button to your layout only after content has finished loading. Use the onAdReceiveSuccess() callback to know when it's ready:

TBLExploreMoreCTAButton ctaButton = page.initExploreMore(
    context,
    new TBLExploreMoreClassicListener() {
        @Override
        public void onAdReceiveSuccess() {
            // Content is loaded — add the CTA to your layout
            ctaContainer.addView(ctaButton);
        }
    },
    placementName,
    mode,
    customSegment,
    fragmentManager);
val ctaButton = page.initExploreMore(
    context,
    object : TBLExploreMoreClassicListener() {
        override fun onAdReceiveSuccess() {
            // Content is loaded — add the CTA to your layout
            ctaContainer.addView(ctaButton)
        }
    },
    placementName,
    mode,
    customSegment,
    fragmentManager)
🚧

CTA button optional

If you don't need the CTA button, you can ignore the return value and use any of the other trigger methods (manual or automatic) described below.

Manual trigger

To show Next Engage, call showExploreMore on your TBLClassicPage instance. You choose when to display it.

page.showExploreMore(fragmentManager);
page.showExploreMore(fragmentManager)
📘

Parameters

  • fragmentManager - The Android FragmentManager.
🚧

One-time display

Next Engage can only be shown once per TBLClassicPage instance.

Automatic trigger

Instead of triggering Next Engage manually, you can configure it to display automatically when the user presses the back button. This is useful for root screens where pressing back would normally exit the app. When the back button trigger is enabled, the first back press shows Next Engage, and the second back press performs the default action.

🚧

Root screen only

The back button trigger only works on root screens. If the activity is not a root activity or has fragments in the back stack, the trigger will not be set.

page.setExploreMoreBackButtonTrigger(
    activity,
    onBackPressedDispatcher,
    viewLifecycleOwner,
    fragmentManager);
page.setExploreMoreBackButtonTrigger(
    activity,
    onBackPressedDispatcher,
    viewLifecycleOwner,
    fragmentManager)
📘

Parameters

  • activity - The Android Activity instance.
  • onBackPressedDispatcher - The OnBackPressedDispatcher from the activity.
  • viewLifecycleOwner - The LifecycleOwner for the view.
  • fragmentManager - The Android FragmentManager.
🚧

Choose one trigger method

Use either the manual or automatic trigger, not both.

Back button trigger with deep links

The back button trigger works with deep-linked activities, as long as the deep-linked activity is the task root and has no fragments in the back stack. If the deep link opens the activity on top of another activity (i.e. the activity is not the task root), the trigger will not be set.

Event handling

TBLExploreMoreClassicListener

To get notified about Next Engage events, extend TBLExploreMoreClassicListener:

void exploreMoreDidOpen() {
    // Called when Next Engage is successfully opened
}

void exploreMoreDidClose() {
    // Called when Next Engage is closing
}

void exploreMoreDidReceiveError(String error) {
    // Handle error here
}
fun exploreMoreDidOpen() {
    // Called when Next Engage is successfully opened
}

fun exploreMoreDidClose() {
    // Called when Next Engage is closing
}

fun exploreMoreDidReceiveError(error: String) {
    // Handle error here
}

While reading the documentation, take a look at our Sample App.


Did this page help you?