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 iOS Classic as your integration method.
  2. You are using Taboola SDK 4.1.12 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.

🚧

Important

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

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

self.exploreMoreCTAButton = [_page initializeExploreMoreWithPlacement:<placement>
                                       										       mode:<mode>
                                    										     delegate:self
                              									        customSegment:<optional custom segment>];
exploreMoreCtaButton = page.initializeExploreMore(withPlacement: <placement>,
                                                  mode: <mode>,
                                                  delegate: self,
                                                  customSegment: <optional custom segment>)
📘

Parameters

  • placement - 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".
  • delegate - A class instance that listens for Taboola SDK Next Engage events (i.e. conforms to the TBLClassicExploreMoreDelegate protocol).
  • customSegment - Optional. Custom segment for loading Next Engage content. See Custom Segments.
📘

Return value

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

CTA button

initializeExploreMore 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 exploreMoreDidLoad() callback to know when it's ready.

Example:

- (void)exploreMoreDidLoad {
    [self.view addSubview:self.exploreMoreCTAButton];
    [self.exploreMoreCTAButton.bottomAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor constant:-24].active = YES;
    [self.exploreMoreCTAButton.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor constant:-24].active = YES;
}
func exploreMoreDidLoad() {
    view.addSubview(exploreMoreCTAButton)
    exploreMoreCTAButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -24).isActive = true
    exploreMoreCTAButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -24).isActive = true
}
🚧

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.

[self.page showExploreMore];
page.showExploreMore()
🚧

One-time display

Next Engage can be shown once per TBLClassicPage instance.

Event handling

TBLClassicExploreMoreDelegate

To get notified about Next Engage events, conform to TBLClassicExploreMoreDelegate:

- (void)exploreMoreDidLoad {
  // Called when Next Engage loads
}

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

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

- (void)exploreMoreDidReceiveError:(NSString *)error {
    // Handle error here
}
func exploreMoreDidLoad() {
  // Called when Next Engage loads
}

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

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

func exploreMoreDidReceiveError(_ error: String) {
    // Handle error here
}

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


Did this page help you?