Add TV Support to an Existing React Native Project (Fire TV)
If you are starting a Bare React Native project, the easiest way to ensure your project is configured for TV is to use the React Native community CLI template.
npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv
This creates a project with react-native-tvos
and all the required configurations for Android and tvOS. Otherwise, you must manually set the configurations. react-native-tvos
is a fork of React Native.
Provide a device-specific experience
If you have an existing React Native project, you can add TV support by providing a device-specific experience through configurations.
To configure your existing React Native project to support TV
-
Update
package.json
dependencies."react-native": "npm:react-native-tvos@latest"
This enables your project to use
react-native-tvos
.Note: You can't use this package and the corereact-native
package simultaneously in a project. Using the fork doesn’t prevent you from creating your regular mobile builds. -
Add the leanback launcher to your Android manifest file.
<intent-filter> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter>
Android TV apps must declare a launcher activity. If your app doesn't, it won't be discoverable on Google Play. It also won't be recognized as a TV app that appears on the system's home screen after installation (the app will only be visible in Settings > Apps > All Apps.)
-
Declare that the
android.hardware.touchscreen
andandroid.hardware.faketouch
features are not required.<uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.hardware.faketouch" android:required="false" />
Note: We recommend adding these changes only to the TV app Android manifest. If your app targets different build platforms in addition to TV, you still want to make sure that the platform domain features, such astouchScreen
, are required on the mobile build. -
Declare that your app is built for Android TV.
<uses-feature android:name="android.software.leanback" android:required="false" />
-
Update iOS project file,
project.pbxproj
, to define the support for tvOS according to this code diff snippet. -
Update Podfile.
- platform :ios, min_ios_version_supported + platform :tvos, min_ios_version_supported
This ensures your project is configured for tvOS.
Related topics
Last updated: Jul 22, 2025