Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

General Info

What should I be tracking?
In the first iteration of TVPR, your implementation should track only program content and no advertisements. You should call the library's track-Method only once per stream.

Can you summarise how your libraries work in simple terms?
All libraries for our supported platforms offer mechanism to adapt any player for measurement. The only information the library needs, is the current position on the stream in seconds. Beside that the measurement requires additionally the information about the stream itself (Content ID or live stream channel) and optionally a duration of the stream in seconds.

Can you summarise how to use your libraries in simple terms?

The basic use of the library is:
1. Create once a SpringStreams instance with some information like the site name and for apps the application name
2. Choose or implement an adapter for the player or stream you want to use
3. Call the track method of the library by giving the adapter and the information about the stream itself
From this point the stream will be measured. These steps are always the same on each supported platform.
(see also: https://confluence.spring.de/display/public/Implementation+of+Stream+Measurement#ImplementationofStreamMeasurement-BasicUseoftheAPI )

What metadata must I provide to the library?
See Player monitoring requirements. Our library needs to receive mandatory information on the current position of the stream in seconds, a stream identifier (unique BARB Content ID and/or name of the stream) and information about the stream duration if the stream is VOD not live (so-called duration of the stream).


How do identify my program content?
See Player monitoring requirements. For on-demand you must provide the BARB standard Content ID. For live, this is still being revised because it might not always be possible to supply a standard Content ID in a live context.

What should I use to populate the Content ID (cq) variable?
Please discuss this with your Project Owner who will advise you which internal code you should use.

Our Content ID contains slashes and other special characters. Does it need to be URI encoded to be sent correctly?
You don’t need to URL-encode, the library does that.  It will not be truncated.

What should the duration of a live simulcast stream be?
Live streams should always have a duration of “0”.

...

Where can we find a copy of the privacy statement and any software licenses which may be necessary?
Please discuss this with your Project Owner who will advise you accordingly.



Content and Advertising


How do I manage pre- and mid-rolls?
In most cases, it is enough to connect the Kantar library to only the content object in your player, and not connect it to advertisement objects. The library will automatically keep track of the content when it is being paused for mid-rolls. You should not try to micro-manage what the library is doing. The play head position reported via the main content won't change whilst commercials are playing (it's paused during this time).

...

Our media player uses a different net stream for every piece of content. For example, a typical playlist could include:
Sting → Pre-roll adverts (2/3 adverts) → Content part 1 / program → Mid roll adverts (2/3 adverts) → Content part 2/ program →
Post-roll adverts (2/3 adverts)
In total we could potentially have up to 11 net streams created in one session. If we were to start measuring from the first advert, the net stream created and passed to SpringStream would not be the same net stream that would be used for the actual content. We can call "stream.stop()" and then call "track()" again with new meta data and net stream, but would this be classed as the same user session?  Using the above example we would be calling the "stop()" "track()" combination quite a few times. Is this correct?

Unless commercials are being specifically tracked, you’ll need to pause the polling to our systems when there is an ad running, and this is done by triggering the stop() and start() functions as you see in the doc. This will all be the same user session. Importantly you will need to be careful not to use the unload() function, because then you will lose the UID, and the same stream will in fact become another view.

 


Mobile App Streaming

What happens if my app is sent to the background by the user?
A Stop event is called when the app goes to background causing a new measurement session to start when user returns and resumes.

Device type information is not visible to our player – we don't drill down to device versions.  Instead we can report the device string constant exposed by Apple's APIs, which could then be converted to a 'human' string outside of the player environment.
Is this suitable?

In this case the device string should be reported. This approach means if new devices are released, or Apple were to change the device strings, there is no need to update the App as the logic resides externally.

...