为现有React Native项目添加电视支持 (Fire TV)
为现有React Native项目添加电视支持 (Fire TV)
如果您正在启动React Native裸项目,那么确保您的项目针对电视进行配置的最简单方法是使用React Native社区CLI模板(仅提供英文版)。
npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv
这样将使用react-native-tvos
创建项目并为Android和tvOS创建所有所需的配置。否则,必须手动设置配置。react-native-tvos
是React Native的一个分支。
提供特定于设备的体验
如果您已有React Native项目,您可以通过配置提供特定于设备的体验,从而增加对于电视的支持。
将现有的React Native项目配置为支持TV
-
更新
package.json
依赖项。"react-native": "npm:react-native-tvos@latest"
这使您的项目能够使用
react-native-tvos
。注意: 您不能在项目中同时使用这个程序包和核心react-native
程序包。使用分支不会阻碍您创建常规的移动构建版本。 -
将Leanback启动器添加到您的Android清单文件中。
<intent-filter> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter>
Android TV应用必须声明启动器活动。如果您的应用没有声明,则无法在Google Play上发现该应用。安装后,它也不会被识别为出现在系统主屏幕上的电视应用(该应用只在以下位置中可见:Settings [设置] > Apps [应用] > All Apps [所有应用])。
-
声明不需要
android.hardware.touchscreen
和android.hardware.faketouch
功能。<uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.hardware.faketouch" android:required="false" />
注意: 我们建议仅将这些更改添加到电视应用Android清单中。如果除电视之外,您的应用还以不同的构建平台为目标,您仍然需要确保移动构建版本上需要平台域功能,例如touchScreen
。 -
声明您的应用是为Android TV而构建。
<uses-feature android:name="android.software.leanback" android:required="false" />
-
更新iOS项目文件
project.pbxproj
,根据此代码差异片段定义对tvOS的支持。 -
更新Podfile。
- platform :ios, min_ios_version_supported + platform :tvos, min_ios_version_supported
这样可以确保您的项目针对tvOS进行配置。
相关主题
Last updated: 2025年7月22日