既存のReact NativeプロジェクトへのTVサポートの追加(Fire TV)
React Nativeのベアプロジェクトから開発を始める場合、プロジェクトをTV向けに構成するには、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プロジェクトがある場合は、構成を通じてデバイス固有のエクスペリエンスを提供することで、TVサポートを追加できます。
既存のReact NativeプロジェクトでTVをサポートするように構成するには
- 
    package.jsonの依存関係を更新します。"react-native": "npm:react-native-tvos@latest"これにより、プロジェクトで react-native-tvosが使用されるようになります。注: このパッケージとコアreact-nativeパッケージをプロジェクトで同時に使用することはできません。フォークを使用しても、通常のモバイルビルドを作成できなくなることはありません。
- 
    AndroidマニフェストファイルにLeanbackランチャーを追加します。 <intent-filter> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter>Android TVアプリでは、ランチャーアクティビティを宣言する必要があります。これを行わないアプリはGoogle Playで検出されません。また、インストール後にシステムのホーム画面に表示されるTVアプリとしても認識されません(アプリは [設定] > [アプリ] > [すべてのアプリ] にのみ表示されます)。 
- 
    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" />注: これらの変更は、TVアプリのAndroidマニフェストにのみ追加することをお勧めします。アプリがTVのほかにさまざまなビルドプラットフォームをターゲットとしている場合、モバイルビルドでは、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日

