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 requirementsBefore you start, make sure that you meet the basic requirements:
- You are using iOS Classic as your integration method.
- You are using Taboola SDK
4.1.12or higher.- 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.
ImportantOnly 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 theTBLClassicExploreMoreDelegateprotocol).customSegment- Optional. Custom segment for loading Next Engage content. See Custom Segments.
Return value
initializeExploreMorereturns aTBLExploreMoreCTAButtoninstance. 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
showExploreMorecall, 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 optionalIf 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 displayNext Engage can be shown once per
TBLClassicPageinstance.
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.
Updated about 16 hours ago
