Explore More (Beta)

Overview

Explore More 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 Explore More using the TBLClassicPage instance that you have already created.

🚧

One instance per page

Only one instance of Explore More can be initialized per page and opened once.

initExploreMore initializes the Explore More 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 Explore More 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 Explore More 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 Explore More bottom sheet (internally calls showExploreMore).
  • Tapping the close (X) button removes the CTA from the layout.
  • The CTA is automatically removed when Explore More 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 Explore More, 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

Explore More can only be shown once per TBLClassicPage instance.

Automatic trigger

Instead of triggering Explore More 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 Explore More, 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 Explore More events, extend TBLExploreMoreClassicListener:

void exploreMoreDidOpen() {
    // Called when Explore More is successfully opened
}

void exploreMoreDidClose() {
    // Called when Explore More is closing
}

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

fun exploreMoreDidClose() {
    // Called when Explore More is closing
}

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

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