首頁 > web前端 > js教程 > 如何開發適用於 TV 的 React Native 應用程式

如何開發適用於 TV 的 React Native 應用程式

Susan Sarandon
發布: 2024-12-21 08:59:10
原創
550 人瀏覽過

作者:阿尼莎·馬爾德和卡羅爾·拉圖塞克

如果您正在閱讀本文,您可能熟悉電視應用程式開發的複雜性和碎片化,並且像我們一樣,您已經轉向 React Native 作為解決方案。這是 React Native 的一個令人興奮的用例,社群在這個領域取得了重大進展 - 最值得注意的是,Expo 今年早些時候在 Expo SDK 50 中引入了電視支援。

受到我們自己的經歷(和掙扎?)的啟發,我們決定創建一個關於使用 React Native for TV 的綜合指南。

How to develop a React Native App for TV

由於使用 React Native 框架(例如 Expo)現在是創建新應用程式的建議方法,因此我們的指南重點關注這一點。然而,在我們發布後的討論中,我們意識到仍然有開發人員想知道如何為電視建立一個裸 React Native (RN) 專案。這就是為什麼本文將探討如何設定裸 RN 項目,並擴展如何設定項目以針對多個平台進行建置。

Expo 還是 Bare React Native?

開始 TV 開發有兩種不同的方式:Expo 和 Bare React Native。您在這些方法之間的選擇將取決於多個因素,例如專案複雜性、效能需求以及您所針對的特定電視平台。

使用 Expo 建立電視應用程式

Expo 透過降低設定開發環境的複雜性,提供了更快的電視應用程式開發途徑。它為多個平台(網路、電視和行動裝置)和預先配置的建置流程提供開箱即用的支援。 Expo 非常適合快速入門! ?

如何開始

您可以在本 Expo 文件或我們指南的「入門」章節中找到更多資訊。

使用 Bare React Native 建立電視應用程式

另一方面,Bare React Native 可以提供開發者更多的控制力和靈活性。它非常適合需要特定庫或具有獨特性能要求的項目。

如何開始

如果您正在啟動 Bare 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 專案並想要添加 TV 支持,您需要處理這些配置以擴展它以構建 TV 應用程式。請注意,上面的模板會為您處理此問題。

1。更新 package.json 相依性

npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv
登入後複製
登入後複製

這使您的專案能夠使用 React Native 的一個分支,react-native-tvos,並進行支援 Apple TV 和 Android TV 所需的變更。

?您無法在專案中同時使用此套件和核心 React-Native 套件,但是使用 fork 並不會阻止您建立「常規」行動版本。

2。更新 Android 清單

  • 對於 Android TV 應用程序,您需要透過將 Leanback 啟動器新增至 Android 清單檔案來確保您的應用程式聲明啟動器活動:
"react-native": "npm:react-native-tvos@latest"
登入後複製

如果沒有這個,您的應用程式將無法在Google Play 上被發現,也不會被識別為安裝後出現在系統主螢幕上的電視應用程式(該應用程式只能在“設定”>“應用程式”>“全部”中可見)應用程式。 )

  • 聲明 android.hardware.touchscreen 功能不是必需的,您的應用程式是為 Android TV 構建的:
<intent-filter>
  <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
登入後複製
  • 聲明您的應用程式是為 Android TV 建構的:
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.faketouch" android:required="false" />

登入後複製

有關這些更改的更多信息,請閱讀有關添加電視支援的 Android 文件。

?我們建議僅將這些變更新增至電視應用程式的 Android 清單中。如果您的應用程式除了電視之外還針對不同的建置平台,您仍然需要確保平台網域功能,例如行動建置需要觸控螢幕。

我們在下面解釋瞭如何建立您的應用程式以具有單獨的清單。

*3。更新 Project.pbxproj *

根據此更新iOS專案文件以定義TVOS的支援。

4。更新 Podfile

<uses-feature android:name="android.software.leanback" android:required="false" />
登入後複製

這可確保您的專案針對 tvOS 設定。

建立您的應用程式以處理其他電視平台

React Native 的最大優勢之一是可以將一個程式碼庫用於多個平台。當您創建電視版本時也是如此。但是,行動和電視項目可能需要單獨的 package.json、podfile 和 Android 清單。

如何建立您的應用程式來處理這個問題?一種選擇是將您的專案建置為單一儲存庫:

How to develop a React Native App for TV

查看 Oskar 的文章,以了解有關 Yarn 工作區的 monorepo 設定的詳細資訊。這提供了靈活性,因為我們可以將電視相關代碼與行動裝置分開,也可以擴展到其他電視平台,例如電視平台。 WebOS、Tizen。

針對小型專案的另一種方法使用與範本類似的結構,並在建置風格層級上區分 Android TV 和 Android Mobile 特定功能集,然後透過合併清單。

How to develop a React Native App for TV

無論您選擇 Expo 路線或 Bare React Native 方法,為您的應用程式新增電視支援只需要幾個步驟。我們希望這可以幫助您開始電視開發之旅。查看指南,了解使用 React Native 建立 TV 的更多提示和技巧。如果您對書中想要看到的內容有任何疑問或要求,請在下面留言⬇️

How to develop a React Native App for TV

以上是如何開發適用於 TV 的 React Native 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板