Skip to content

[FEAT] Add Android Chromecast support methods to JWPlayer React Native SDK #146

Open
@Mohamed-hamed-32

Description

@Mohamed-hamed-32

Is your feature request related to a problem? Please describe.

When developing a cross-platform React Native application using JWPlayer’s official React Native library (@jwplayer/jwplayer-react-native), we encountered significant limitations with Chromecast integration on Android. Currently, essential casting methods such as presentCastDialog, setUpCastController, castState, connectedDevice, and disconnectFromCastDevice are available only for iOS.

This inconsistency results in a fragmented user experience, leaving Android users unable to seamlessly cast media from the app. It forces developers into complicated, time-consuming workarounds or third-party integrations that degrade app maintainability, consistency, and performance.

Describe the solution you’d like

We would greatly benefit from having official Android support for the existing Chromecast methods already available on iOS. Specifically, the following Chromecast methods should be implemented and exposed within JWPlayer’s React Native SDK for Android:
setUpCastController(): Initialize the Chromecast controller natively within JWPlayer.
presentCastDialog(): Launch the native Chromecast selection dialog directly from the JWPlayer instance.
castState(): Retrieve the current Chromecast connectivity status programmatically.
connectedDevice(): Access information about the Chromecast device currently connected.
disconnectFromCastDevice(): Allow apps to programmatically disconnect from an active Chromecast session.

This addition would deliver a seamless and consistent casting experience for both Android and iOS, significantly improving the UX and DX for developers relying on JWPlayer’s cross-platform solution.

Describe alternatives you’ve considered

The following alternative approaches have been explored:
Custom Native Chromecast Integration: Directly integrating Google’s native Chromecast SDK via custom native Android modules. However, this introduces substantial complexity and ongoing maintenance overhead, diminishing the advantage of using JWPlayer’s unified React Native solution.
Third-party Libraries: Relying on external libraries (e.g., React Native Google Cast SDK wrappers). While possible, this results in inconsistent UI/UX between iOS and Android, increased integration challenges, and additional performance overhead, due to differences in handling media playback states and controllers.

Neither of these alternatives provides the simplicity, reliability, and consistent developer experience of having Chromecast support directly integrated within the JWPlayer React Native SDK itself.

Additional context
• JWPlayer already offers native Android Chromecast support (official Android documentation), suggesting that integrating these features into the existing React Native library should be achievable with minimal friction.
• Aligning Android’s Chromecast methods with those on iOS within the official React Native SDK will dramatically simplify development efforts, enhance app maintainability, and enable smoother, consistent media

Thank you for considering this feature request!

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-groomingHas not been reviewed by codeowners for scope/validation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions