SRGSSR / pillarbox-documentation

Technical cross-platform documentation for Pillarbox
https://www.pillarbox.ch/
MIT License
3 stars 0 forks source link

comScore tracker potential improvements #89

Closed defagos closed 3 months ago

defagos commented 4 months ago

As a Pillarbox development team we found misalignments and potential simplifications in our comScore streaming analytics implementations. We should ask comScore about them.

Acceptance criteria

Tasks

defagos commented 4 months ago

I sent the two following questions to comScore.

Question 1: Playback session creation and SCORStreamingAnalytics reuse

On Apple platforms, we create a new SCORStreamingAnalytics object for each playback session, calling createPlaybackSession() on this instance during the setup phase. That means that when we reach the end of some video and display a reload button (see attached reload_at_end.mp4 video), replaying the same content creates a fresh SCORStreamingAnalytics instance and setups an associated session again.

On Android there is a single SCORStreamingAnalytics instance for the video, no matter how many times the same video is replayed. Only createPlaybackSession() is called to create a new session between each repeated playback of the same item.

We think that the Android implementation is probably simpler and correct. Could you confirm this is the case and that all internal comScore streaming analytics variables are correctly reset when creating a session, even when the same SCORStreamingAnalytics is reused between sessions?

Question 2: Playback sessions and pause at the end of playback

In the first question above the player completely plays through an item before displaying a reload button.

Our players, though, offer an opt-in that makes it possible to have playback paused just before the end of the content (see attached pause_at_end.mp4 video), letting the user seek back into the content without actually having to reload it. In effect this is similar to having the user manually pause playback just before the end of the content.

In the first case where there is a reload button it is obvious we have to create a new playback session, but in the second case this is less obvious since the content has been almost played through, but not entirely (since the user can still seek back).

Could you therefore tell us whether we should also create a new session in the case playback pauses near the end, or if we should keep the same session?

defagos commented 4 months ago

Answers obtained from comScore:

Really the best we could hope for.

defagos commented 3 months ago

I created two drafts for the web and Android implementations. We will discuss together what could be done. For Apple platforms we already made our implementation simpler.