Skip to main content
Version: 8.14.0

Uplynk Ads

Uplynk offers support for server-side ad-insertion or in-short SSAI.

This article explains how to use the THEOplayer's Ads APIs to interact with the Uplynk Ads service

Global Configuration

The examples below demonstrate how to pass along global configuration for Uplynk Ads in the Connector.

val uplynkConfiguration = UplynkConfiguration(defaultSkipOffset: ..., onSeekOverAd: ...)

defaultSkipOffset describes how many seconds the user has to wait before an ad is skippable. onSeekOverAd controls how the connector behaves when seeking over ads. There are three values: PLAY_ALL, PLAY_LAST and PLAY_NONE. The first option forces playback of all the unwatched ads before the seek point. PLAY_LAST forces playback of the last ad before the seek point.

Uplynk Ads API

Specifying a source which contains server-side ads configured through Uplynk will have the THEOplayer instance report such ads through its Ads API.

Users can use the THEOplayer Ads events to interact with Uplynk Ads:

player.ads.addEventListener(AdsEventTypes.ADD_AD_BREAK) {
Log.d("UplynkConnectorEvents", "ADD_AD_BREAK ")
}

player.ads.addEventListener(AdsEventTypes.AD_BREAK_BEGIN) {
Log.d("UplynkConnectorEvents", "AD_BREAK_BEGIN ")
}

player.ads.addEventListener(AdsEventTypes.AD_BEGIN) {
Log.d("UplynkConnectorEvents", "AD_BEGIN ")
}

player.ads.addEventListener(AdsEventTypes.AD_FIRST_QUARTILE) {
Log.d("UplynkConnectorEvents", "AD_FIRST_QUARTILE ")
}

player.ads.addEventListener(AdsEventTypes.AD_MIDPOINT) {
Log.d("UplynkConnectorEvents", "AD_MIDPOINT ")
}

player.ads.addEventListener(AdsEventTypes.AD_THIRD_QUARTILE) {
Log.d("UplynkConnectorEvents", "AD_THIRD_QUARTILE ")
}

player.ads.addEventListener(AdsEventTypes.AD_END) {
Log.d("UplynkConnectorEvents", "AD_END ")
}

player.ads.addEventListener(AdsEventTypes.AD_BREAK_END) {
Log.d("UplynkConnectorEvents", "AD_BREAK_END ")
}

player.ads.addEventListener(AdsEventTypes.AD_ERROR) {
Log.d("UplynkConnectorEvents", "AD_ERROR " + it.error)
}

player.ads.addEventListener(AdsEventTypes.AD_SKIP) {
Log.d("UplynkConnectorEvents", "AD_SKIP ")
}

player.addEventListener(PlayerEventTypes.ERROR) {
Log.d("UplynkConnectorEvents", "ERROR " + it.errorObject)
}

Users can also skip Ads through the skip API in THEOplayer:

player.ads.skip()

Calling the player.ads.skip() function on a live stream will not have any effect.