Placement Events Listener
info
Event-Driven System: The Teads SDK uses a comprehensive event system through TeadsAdPlacementEventsDelegate to manage video playback and user interactions.
Overview
The Teads SDK provides an event-driven system for managing placement events through the TeadsAdPlacementEventsDelegate. This delegate allows you to:
- Track video playback states (play, pause, resume, complete)
- Handle user interactions and engagement
- Monitor ad performance and viewability
Implementing TeadsAdPlacementEventsDelegate
Basic Implementation
import tv.teads.sdk.*
class YourActivity : AppCompatActivity(), TeadsAdPlacementEventsDelegate {
private var mediaPlacement: TeadsAdPlacementMedia? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupMediaPlacement()
}
private fun setupMediaPlacement() {
val adPlacementSettings = TeadsAdPlacementSettings.Builder()
.enableDebug()
.build()
val adRequestSettings = TeadsAdRequestSettings.Builder()
.pageUrl(Uri.parse("https://example.com/article"))
.build()
mediaPlacement = TeadsAdPlacementMedia(
this,
84242,
adPlacementSettings,
this
)
mediaPlacement?.requestAd(adRequestSettings)
}
// MARK: - TeadsAdPlacementEventsDelegate
override fun onPlacementEvent(
placement: TeadsAdPlacement,
event: TeadsAdPlacementEventName,
data: Map<String, Any>?
) {
when (event) {
TeadsAdPlacementEventName.PLAY -> {
handleVideoPlay()
}
TeadsAdPlacementEventName.PAUSE -> {
handleVideoPause()
}
TeadsAdPlacementEventName.RESUME -> {
handleVideoResume()
}
TeadsAdPlacementEventName.COMPLETE -> {
handleVideoComplete()
}
TeadsAdPlacementEventName.START_PLAY_AUDIO -> {
handleAudioStart()
}
TeadsAdPlacementEventName.STOP_PLAY_AUDIO -> {
handleAudioStop()
}
TeadsAdPlacementEventName.CLICK -> {
handleAdClick()
}
TeadsAdPlacementEventName.IMPRESSION -> {
handleAdImpression()
}
TeadsAdPlacementEventName.ERROR -> {
handleAdError(data)
}
else -> {
Log.d("TeadsSDK", "Other event: $event")
}
}
}
}
User Interaction Events
Click Event
TeadsAdPlacementEventName.CLICK -> {
Log.d("TeadsSDK", "Ad clicked")
}
Impression Event
TeadsAdPlacementEventName.IMPRESSION -> {
Log.d("TeadsSDK", "Ad impression recorded")
}
Error Handling
Error Event
TeadsAdPlacementEventName.ERROR -> {
Log.e("TeadsSDK", "Error data: $data")
}
Related Documentation
- Integration Guide - Complete integration steps including event handling
- Settings Configuration - Advanced configuration options
- Privacy Guide - Privacy and data handling information
- Troubleshooting Guide - Common issues and solutions