Android Video Player SDK Development (Outsourcing Project)
Budget: $750 – $1,500 USD
Project Overview
Client: GliaCloud
Project: Android Video Player SDK
Engagement Type: Fixed-scope outsourced project
This project is not a greenfield development. A working proof of concept already exists, and the selected vendor will extend, optimize, and harden the existing implementation into a production-ready Android SDK.
The SDK hosts a WebView-based video player and provides native capabilities such as floating playback, lifecycle tracking, visibility measurement, and secure communication between Android and the web player.
The SDK acts as a signal provider and command executor, while all business logic and playback decisions remain controlled by the web player.
Technical Requirements
• Kotlin 2.x
• Android API 24–36
• Android View System and Jetpack Compose support
• AndroidX WebKit
• Secure JavaScript Bridge
• Google Mobile Ads SDK integration
• JUnit, Robolectric, Espresso testing
Scope of Work
1. Layout & Player Hosting
• Build SDK player containers for both:
○ Android View (XML)
○ Jetpack Compose
• Support:
○ Inline player
○ Floating player
• Maintain WebView persistence:
○ WebView must continue running when RecyclerView or LazyColumn items scroll off-screen
○ Playback and JavaScript execution should remain active
• Support dynamic sizing:
○ Percentage-based sizing
○ Fixed dimensions
○ Aspect-ratio based layouts
• Support configurable floating positions and margins
2. Floating Player & State Management
• Support switching between:
○ Inline mode
○ Floating mode
• Float/unfloat behavior is controlled by the web player
• Implement WebView state management:
○ Inline
○ Floating
○ Offscreen
○ Released
• Offscreen behavior requirements:
○ WebView remains active
○ No pause or destruction
○ No visibility, alpha, or scale manipulation
○ Playback and ad measurement must continue
• Correctly handle:
○ RecyclerView recycling
○ Navigation transitions
○ Activity destruction
○ Configuration changes
• Perform stress testing for:
○ Rapid float/unfloat switching
○ Fast scrolling
○ Rotation changes
○ Multi-window scenarios
• Deliver a demo application showcasing all playback modes
3. Visibility & Lifecycle Signals
The SDK must continuously report visibility and lifecycle signals to the web player, including:
• Visible area percentage
• Active page detection
• Hidden state detection
• Occlusion detection
• App foreground/background status
• Activity lifecycle status
Requirements:
• Automated validation tests
• Lifecycle instrumentation tests
• Debug panel displaying live signal values
4. Native ↔ Web Communication Bridge
Build a secure and robust bidirectional communication layer between Android and JavaScript.
Requirements:
• Modern WebView messaging implementation
• Fallback mechanism for unsupported devices
• JSON serialization and validation
• Error handling without application crashes
• Multi-WebView concurrency support
Testing requirements:
• Load testing
• Latency measurement
• Message loss tracking
• Timeout reporting
Provide a demo showing bridge communication and command execution.
5. SDK Public API Review
Review and validate the SDK integration experience.
Requirements:
• Simple initialization flow
• XML and Compose support
• RecyclerView and navigation compatibility
• Minimal integration effort for client developers
Any API design concerns should be identified and proposed before implementation.
Deliverables
SDK Package
• Kotlin source code
• Gradle modules
• AAR build outputs
• Public API documentation
Demo Application
Demonstrating:
• Inline playback
• Floating playback
• Offscreen state handling
• Visibility monitoring
• Bridge communication
Both XML and Compose implementations are required.
Testing
• Unit tests
• Robolectric tests
• Instrumentation tests
Reports
• Stress test report
• Visibility validation report
• Integration guide
• Bridge protocol documentation
All deliverables will be submitted through pull requests to the client repository.
Project Milestones
Suggested milestone structure:
Milestone 1
Bridge implementation and SDK API validation
Milestone 2
Layout system and visibility signal implementation
Milestone 3
Floating player and offscreen state model
Milestone 4
Stress testing, optimization, documentation, and demos
Estimated effort: Approximately 1 engineer-month
Weekly progress updates are expected.
Testing Matrix
The solution must be validated on:
Android Versions
• API 26
• API 29
• API 33
• API 34
Device Manufacturers
• Google Pixel
• Samsung
• Xiaomi
Support for Android API 24–36 is required.
Required Qualifications
Must Have
• Strong Android development experience with Kotlin
• Deep understanding of WebView internals
• Experience with Android lifecycle management
• Experience with both Android Views and Jetpack Compose
• Experience building SDKs for third-party developers
• Strong testing and automation practices
• Coroutine-based architecture experience
• Experience integrating Google Mobile Ads SDK
Preferred
• Ad-tech experience (VAST, VPAID, IAB/MRC standards)
• Video player SDK development experience
• Floating player or Picture-in-Picture experience
• Visibility and impression measurement experience
• Multi-device Android testing experience
Proposal Requirements
Please include:
1. Relevant project experience, especially:
○ Android SDKs
○ Video players
○ WebView-heavy applications
2. A short technical note (maximum one page) describing:
○ How you would verify that an offscreen WebView continues rendering video and executing JavaScript
3. Proposed team structure
4. Estimated timeline
5. Pricing model and quotation
Information Provided After NDA
The following materials will be shared after NDA execution:
• Source repository access
• Internal architecture documentation
• Visibility and lifecycle specifications
• Scenario test matrix
• Detailed acceptance criteria
• Formal Statement of Work (SOW)
Client: GliaCloud
Project: Android Video Player SDK
Engagement Type: Fixed-scope outsourced project
This project is not a greenfield development. A working proof of concept already exists, and the selected vendor will extend, optimize, and harden the existing implementation into a production-ready Android SDK.
The SDK hosts a WebView-based video player and provides native capabilities such as floating playback, lifecycle tracking, visibility measurement, and secure communication between Android and the web player.
The SDK acts as a signal provider and command executor, while all business logic and playback decisions remain controlled by the web player.
Technical Requirements
• Kotlin 2.x
• Android API 24–36
• Android View System and Jetpack Compose support
• AndroidX WebKit
• Secure JavaScript Bridge
• Google Mobile Ads SDK integration
• JUnit, Robolectric, Espresso testing
Scope of Work
1. Layout & Player Hosting
• Build SDK player containers for both:
○ Android View (XML)
○ Jetpack Compose
• Support:
○ Inline player
○ Floating player
• Maintain WebView persistence:
○ WebView must continue running when RecyclerView or LazyColumn items scroll off-screen
○ Playback and JavaScript execution should remain active
• Support dynamic sizing:
○ Percentage-based sizing
○ Fixed dimensions
○ Aspect-ratio based layouts
• Support configurable floating positions and margins
2. Floating Player & State Management
• Support switching between:
○ Inline mode
○ Floating mode
• Float/unfloat behavior is controlled by the web player
• Implement WebView state management:
○ Inline
○ Floating
○ Offscreen
○ Released
• Offscreen behavior requirements:
○ WebView remains active
○ No pause or destruction
○ No visibility, alpha, or scale manipulation
○ Playback and ad measurement must continue
• Correctly handle:
○ RecyclerView recycling
○ Navigation transitions
○ Activity destruction
○ Configuration changes
• Perform stress testing for:
○ Rapid float/unfloat switching
○ Fast scrolling
○ Rotation changes
○ Multi-window scenarios
• Deliver a demo application showcasing all playback modes
3. Visibility & Lifecycle Signals
The SDK must continuously report visibility and lifecycle signals to the web player, including:
• Visible area percentage
• Active page detection
• Hidden state detection
• Occlusion detection
• App foreground/background status
• Activity lifecycle status
Requirements:
• Automated validation tests
• Lifecycle instrumentation tests
• Debug panel displaying live signal values
4. Native ↔ Web Communication Bridge
Build a secure and robust bidirectional communication layer between Android and JavaScript.
Requirements:
• Modern WebView messaging implementation
• Fallback mechanism for unsupported devices
• JSON serialization and validation
• Error handling without application crashes
• Multi-WebView concurrency support
Testing requirements:
• Load testing
• Latency measurement
• Message loss tracking
• Timeout reporting
Provide a demo showing bridge communication and command execution.
5. SDK Public API Review
Review and validate the SDK integration experience.
Requirements:
• Simple initialization flow
• XML and Compose support
• RecyclerView and navigation compatibility
• Minimal integration effort for client developers
Any API design concerns should be identified and proposed before implementation.
Deliverables
SDK Package
• Kotlin source code
• Gradle modules
• AAR build outputs
• Public API documentation
Demo Application
Demonstrating:
• Inline playback
• Floating playback
• Offscreen state handling
• Visibility monitoring
• Bridge communication
Both XML and Compose implementations are required.
Testing
• Unit tests
• Robolectric tests
• Instrumentation tests
Reports
• Stress test report
• Visibility validation report
• Integration guide
• Bridge protocol documentation
All deliverables will be submitted through pull requests to the client repository.
Project Milestones
Suggested milestone structure:
Milestone 1
Bridge implementation and SDK API validation
Milestone 2
Layout system and visibility signal implementation
Milestone 3
Floating player and offscreen state model
Milestone 4
Stress testing, optimization, documentation, and demos
Estimated effort: Approximately 1 engineer-month
Weekly progress updates are expected.
Testing Matrix
The solution must be validated on:
Android Versions
• API 26
• API 29
• API 33
• API 34
Device Manufacturers
• Google Pixel
• Samsung
• Xiaomi
Support for Android API 24–36 is required.
Required Qualifications
Must Have
• Strong Android development experience with Kotlin
• Deep understanding of WebView internals
• Experience with Android lifecycle management
• Experience with both Android Views and Jetpack Compose
• Experience building SDKs for third-party developers
• Strong testing and automation practices
• Coroutine-based architecture experience
• Experience integrating Google Mobile Ads SDK
Preferred
• Ad-tech experience (VAST, VPAID, IAB/MRC standards)
• Video player SDK development experience
• Floating player or Picture-in-Picture experience
• Visibility and impression measurement experience
• Multi-device Android testing experience
Proposal Requirements
Please include:
1. Relevant project experience, especially:
○ Android SDKs
○ Video players
○ WebView-heavy applications
2. A short technical note (maximum one page) describing:
○ How you would verify that an offscreen WebView continues rendering video and executing JavaScript
3. Proposed team structure
4. Estimated timeline
5. Pricing model and quotation
Information Provided After NDA
The following materials will be shared after NDA execution:
• Source repository access
• Internal architecture documentation
• Visibility and lifecycle specifications
• Scenario test matrix
• Detailed acceptance criteria
• Formal Statement of Work (SOW)
Related categories:
Business, Accounting, Human Resources & Legal
Mobile App Development
Android
Debugging
PhoneGap
Kotlin
JUnit