Repository navigation
Releases
v1.1.2
Changes
- Seeks are reported per EPAS:
seekingcarries the position before the seek,seekedis sent when the player is ready at the new position, and buffering during a seek is no longer reported. A seek while paused and back-to-back seeks give oneseeking/seekedpair. (#31, #32)
Install
implementation 'com.github.Eyevinn:player-analytics-client-sdk-android:v1.1.2'JitPack versions are the git tags, including the v. Declare the Media3 libraries your app uses (e.g. media3-exoplayer, media3-exoplayer-hls, media3-ui) yourself at 1.8.1.
Known issues
- A seek before the first frame (resuming from a saved position) sends the start-up
buffered/loadedafterseeked. - After
stopped, a further seek on the same player still sends events with the oldsessionId(also in earlier versions).
Verified: ./gradlew test 21 tests green (debug and release) on f6864cd; seek scenarios (seek while playing, seek while paused, two seeks in a row) checked on an API 35 emulator against a local EPAS sink, see #32.
v1.1.1
Changes
- Media3 moved to the stable 1.8.1 release, so host apps no longer get Media3
1.8.0-alpha01pulled in through this SDK. Allandroidx.media3artefacts use one version; duplicate 1.4.1 declarations removed. (#29, #30) - CI: GitHub Actions runs unit tests and lint on every PR. (#27, #28)
Install
implementation 'com.github.Eyevinn:player-analytics-client-sdk-android:v1.1.1'Media3 is published as a runtime dependency, so declare the Media3 libraries your app uses (e.g. media3-exoplayer, media3-exoplayer-hls, media3-ui) yourself at 1.8.1.
Known issue
seekedis not sent, andseekingreports the seek target instead of the starting position (present since 1.0; to be fixed in a later release).
Verified: unit tests (15) and CI green on d21efff; a minimal Media3 1.8.1 app built against this commit via JitPack sent a full session (init, loading, buffering/buffered, loaded, playing, heartbeat, paused, seeking, stopped) on an API 35 emulator.
v1.1.0
Fixes
- One
stoppedper session, with an EPAS reason (ended,aborted,error,unknown) instead of free text. NewstopTracking(StopReason);stopTracking(String)still compiles but is deprecated. (#18, #20, #23) - Start-up events in EPAS order (
buffering, buffered, loaded, playing) with oneplaying;loadedcarries the real playhead and duration; events are posted one at a time, in order. (#19, #25) - The published library no longer adds a launcher activity, an Ads app id or a cleartext network config to host apps; the sample moved to its own
:samplemodule. (#21, #24) minSdklowered from 34 to 21, so the SDK runs on older phones and Android TV / set-top boxes. (#22, #26)
Behaviour changes to note
stopped.payload.reasonvalues change from free text to the EPAS values.- The library no longer depends on Compose, Material3, media3-ui, play-services-ads or the IMA SDK.
Verified: unit tests (15), lint at minSdk 21, live sessions on Pixel emulators (API 35 and API 21) through an eventsink.