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
andPLAY_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.