Monitor Bitmovin Player
The FastPix Data SDK with Bitmovin helps you track key video metrics like user interactions, playback quality, and performance to enhance the viewing experience. It lets you customize data tracking, monitor streaming quality, and securely send insights for better optimization and error resolution.
Key features:
- Capture user engagement through detailed viewer interaction data.
- Monitor playback quality with real-time performance analysis.
- Identify and fix video delivery bottlenecks on Android.
- Customize tracking to match specific monitoring needs.
- Handle errors with robust reporting and diagnostics.
- Gain deep insights into video performance with streaming diagnostics.
Prerequisites:
To track and analyze video performance, initialize the SDK with your Workspace key. Learn about Workspaces.
- Access the FastPix Dashboard: Log in and navigate to the Workspaces section.
- Locate Your Workspace Key: Copy the Workspace Key for client-side monitoring. Include this key in your Java/Kotlin code on every page where you want to track video performance.
Install and setup
-
Open your Android Studio project where you want to integrate the SDK.
-
Add the FastPix Data SDK dependency:
-
Navigate to your app-level
build.gradlefile (orbuild.gradle.ktsif using Kotlin DSL).
Navigate to your settings.gradle file
- Sync your project with Gradle files
Click
Sync Nowin the notification bar to download and integrate the FastPix Data SDK.
Import the SDK
Integrate with FastPix
-
Ensure that the
workSpaceIdis provided, as it is a mandatory field for FastPix integration, uniquely identifying your workspace. Install and importFastPixBitMovinPlayerinto your project, and create anbitmovinDatainstance to bind it to. If you are using any other custom player then create an instance of that player. -
Next, create an instance of
FastPixBitMovinPlayerto track analytics. After the video URL loads and playback begins, the SDK automatically begins tracking analytics.
- You can initialize BitmovinPlayer with a
BitmovinPlayerViewin your Android application to enable seamless functionality. Use the following Kotlin or Java code in your Android application to configure ExoPlayer with FastPix:
Including custom data and metadata
workSpaceIdis a mandatory parameter that tells the SDK on which workspace the data will collect.playerViewis another mandatory parameter.
- You can use custom metadata fields like
customField1tocustomField10for your business logic, giving you the flexibility to pass any required values. Named attributes, such asvideoIdandvideoTitle, can be passed directly as they are. See the user-passable metadata documentation to see the metadata supported by FastPix.
- To set up video analytics, create a FastPixBitMovinPlayer object by providing the following parameters: your application’s
Context(usually the Activity), theBotmovinPlayerinstance, and thecustomerData.
- Finally, when destroying the player, make sure to call the
FastPixBitMovinPlayer.release()function to properly release resources.
- After completing the integration, start playing a video in your player. A few minutes after stopping playback, you’ll see the results in your FastPix Video Data dashboard. Log in to the dashboard, navigate to the workspace associated with your
workspace_key, and look for video views.
Understanding CustomerData
What FastPix Tracks
After initialization, the SDK automatically collects:
Example to configure Bitmovin with FastPix Data SDK.
Provide your stream URL in the url field video-url and your FastPix workspace key in the workspaceIdfield.
Debug Logging
Enable logs using:
Troubleshooting
SDK Not Tracking Events
- Ensure you’ve initialized the SDK after configuring Bitmovin Player
- Check that
workSpaceIdis correct - Verify Bitmovin Player events are firing (check Bitmovin Player logs)
- Enable logging to see FastPix SDK activity
Memory Leaks
- Always call
release()inonDestroy() - Ensure
bitmovinData?.release()is called before releasing FastPix SDK
Missing Events
- The SDK automatically tracks all events from Bitmovin Player
- Events are tracked based on Bitmovin Player native event system
- Check that Bitmovin player is properly configured and receiving events
Changelog
All notable changes to this project will be documented in this file.
[1.0.4]
- Updated SDK version to
1.0.4inBitMovinLibraryInfo.kt,README.md, andbuild.gradle.kts. - Upgraded FastPix Core dependency to
1.3.1ingradle/libs.versions.toml.
[1.0.3]
- Upgrades Core SDK to 1.3.0
[1.0.2]
Changed
- Upgraded FastPix Core dependency to
1.2.9ingradle/libs.versions.toml. - Updated
FastPixBitMovinPlayerpulse lifecycle handling to schedule pulse events during active playback states (viewBegin,play,buffering) instead of cancelling them. - Updated seek completion behavior to keep pulse events active when playback resumes after seek, and cancel only when the player remains paused.
- Removed redundant pulse start/stop calls for
variantChanged,seeking,playerReady, andbufferedevent dispatch paths.
[1.0.1]
Changed
- Bumped SDK version to
1.0.1inREADME.md,BitMovinLibraryInfo.kt, andbuild.gradle.kts. - Refactored
FastPixBitMovinPlayerto useFastPixAnalyticsfor SDK initialization and management. - Implemented periodic
pulseevent logic using Coroutines to track active playback. - Added event lifecycle management to schedule or cancel pulse events based on player state (e.g., playing, buffering, seeking).
- Updated internal
PlayerListenermethod signatures forsourceFpsandsourceAdvertiseFrameRateto returnInt?. - Upgraded project dependencies including Kotlin to
2.1.0and FastPix Core to1.2.7.
[1.0.0] - Initial Release
Added
- Initial release of FastPix Bitmovin Player Data Collector
- Integration with Bitmovin Player 3.0+ for automatic analytics tracking
- Automatic event tracking (play, pause, seeking, buffering, errors, quality changes, etc.)
- State transition validation for accurate event tracking
- Player information collection (dimensions, playhead time, duration, etc.)
- Error handling and reporting
- Resource lifecycle management
Support
📩 Email: support@fastpix.io 📚 Docs: fastpix.com/docs