PRESTOads Tracking

Reliable Client Side Beacons

PRESTOads and the integration with PRESTOplay enabled reliable user specific client side tracking. The OMID certified integration of OM-SDK enabled viewability measurements that are not possible with server side events only.

The Demo

In this demo we show three distinct users playing the same content. While the content is the same for all users, the HLS-Interstitials inserted into the stream are personalized based on the user ID.

Once Ad Playback starts, PRESTOads start tracking all ad related events and reports them to a custom backend. On arrival, the backend forwards the received events to the table shown here.

How the beacons flow in this demo On the client side the ad plays for each viewer and PRESTOads sends the beacons to the beacon collector on the server side, which pushes them live back to the client side, into the timeline table. Client side Server side Client side ad plays beacons live Amina Liam Max Viewers PRESTOads Beacon Collector Timeline
Players
Web
  • PRESTOplay
  • Shaka Player
  • hls.js
  • dash.js
Android
  • PRESTOplay
  • ExoPlayer
Apple
  • PRESTOplay
  • AVPlayer
Signaling
  • SVTA ad creative signaling
  • MediaTailor AWS beaconing

Integration

PRESTOplay resolves the interstitials itself; the adapter maps each one onto an ad break.

import { clpp } from '@castlabs/prestoplay'
import { activate, PAAdSessionManager, PAPluginRegistry } from '@castlabs/prestoads'
import { PASvtaPlugin } from '@castlabs/prestoads-svta-plugin'
import { PAPrestoPlayerPlugin } from '@castlabs/prestoads-prestoplay-plugin'

// Register the plugins once, then activate PRESTOads
const registry = PAPluginRegistry.getInstance()
registry.register(new PASvtaPlugin())
registry.register(new PAPrestoPlayerPlugin())
await activate({ license: LICENSE })

// Adapt the player before it loads content
const player = new clpp.Player(video)
const ads = new PAAdSessionManager(registry.createPlayer(player), {
  contentUrl: location.href,
})

await player.load({ source: MANIFEST_URL })