This doc explains how to enable the Video Editor SDK's interactive stickers: the two built-in types, Mention and Link, plus any number of your own client-defined types — for example Product or Location.
Mention and Link ship in the SDK — you turn them on through config. Custom types don't: you register any number of your own client-defined sticker types through a small factory contract, and the SDK takes care of rendering them everywhere a sticker type needs to show up — the picker button, the timeline bar icon, and the sticker pill on canvas.
The code examples below walk through a full working setup — a mentions provider plus two custom types (Product, Location).
Interactive stickers — Mentions, Hyperlinks, and custom types — are available since BanubaVideoEditorSDK 1.53.2. The Mentions contacts API was reworked in 1.54.1 (search-based, see below), so for Mentions make sure every Banuba pod resolves to 1.54.1 or newer.
⚠️ Breaking change (1.54.1): MentionsContactsProvider changed from a single contacts() async call to a search/push model (search(query:) + onReceive). Code written for 1.53.2–1.54.0 will not compile on 1.54.1 — see Enabling Mentions below.
⚠️ Breaking change (1.54.2): the sticker-placement id moved out of InteractiveStickerPayload up to the sticker itself — InteractiveStickerSelectionResult(id:) when you create it, InteractiveStickerInfo.id when you read it back. InteractiveStickerPayload no longer has an id and now carries entity data only (url, attributes, mentions). Code written for 1.53.2–1.54.1 will not compile — see Implement a selection screen per type below.
⚠️ BanubaPhotoEditorSDK updated to version 1.4.3
❗ Note: interactive stickers are supported only in the new editor — they don't appear in the legacy editor UI.
Below is a Podfile for the 1.54.2 release with Face AR:
source '<https://github.com/Banuba/specs.git>'
source '<https://github.com/sdk-banuba/banuba-sdk-podspecs.git>'
platform :ios, '15.0'
use_frameworks!
target 'Example' do
banuba_sdk_version = '1.54.2'
pod 'BanubaVideoEditorSDK', banuba_sdk_version
pod 'BanubaSDK', banuba_sdk_version
pod 'BanubaARCloudSDK', banuba_sdk_version #optional
pod 'BanubaAudioBrowserSDK', banuba_sdk_version #optional
pod 'BanubaPhotoEditorSDK', '1.4.3'
end
Below is a Podfile for the 1.54.2 release with NO Face AR:
source '<https://github.com/Banuba/specs.git>'
source '<https://github.com/CocoaPods/Specs.git>'
platform :ios, '15.0'
use_frameworks!
target 'Example' do
banuba_sdk_version = '1.54.2'
pod 'BanubaVideoEditorSDK', banuba_sdk_version
pod 'BanubaSDKSimple', banuba_sdk_version
pod 'BanubaARCloudSDK', banuba_sdk_version #optional
pod 'BanubaAudioBrowserSDK', banuba_sdk_version #optional
end
Mention and Link are built into the SDK — flip one config value each and they appear in the sticker picker, no screen of your own required. Custom types are the open-ended mechanism: implement one factory (InteractiveStickerSelectionExternalFactory) that lists your sticker types and creates a selection screen for each, register it once on the video editor's view controller factory, and a button for each of your types appears automatically. Everything the user places — of any type, Mention/Link included — comes back through a single read-back property, videoEditor.interactiveStickers.
Button order in the picker is Mention → Link → your custom types, in the order you list them in customStickers — this doc covers them in that same order.