Description
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!