Vega网页应用概述
如果将WebView作为一个组件添加到React Native应用中,则可能需要改用Vega WebView 组件参考。以下部分重点介绍如何构建以WebView为主要接口的电视网页应用。
Vega WebView组件显示您的Vega应用中基于网页的内容,包括HTML、JavaScript和CSS。这使您可以利用应用的现有网络内容,例如静态页面(帮助页面、条款和条件等)、登录屏幕,甚至应用的整个演示层。WebView组件利用Chromium引擎,可自定义(例如自定义标头、DOM存储等),并支持通过消息传递桥在WebView源和包含的Vega应用之间进行数据通信。
确保您的网页内容针对电视设备进行了优化,其中包括remote-control/directional-pad(方向键)输入的焦点导航。单击/触摸/拖动用户体验实现通常与电视用户体验不兼容,而且电视设备消耗的电量通常低于台式机和移动设备。例如,您应该通过减少电视动画来优化您的网页内容。有关性能和流畅度的更多指导,请参阅网页应用开发最佳实践。
快速设置您的网页应用
步骤1: 添加应用模板
npm install @amazon-devices/webview@^3.3.0
有关更多详细信息,请参阅使用模板创建应用。
步骤2: 将所需的服务添加到manifest.toml文件中
[wants]
# 用于渲染网页内容的网页渲染器服务
[[wants.service]]
id = "com.amazon.webview.renderer_service"
# 如果网页应用需要键盘支持
[[wants.service]]
id = "com.amazon.inputmethod.service"
# 如果网页应用需要视频播放
[[wants.service]]
id = "com.amazon.media.server"
# 从视频播放中发出指标的必需项
[[wants.service]]
id = "com.amazon.mediametrics.service"
# 在稳定API上播放视频的必需项
[[wants.service]]
id = "com.amazon.mediabuffer.service"
[[wants.service]]
id = "com.amazon.mediatransform.service"
# 如果网页应用需要音频播放
[[wants.service]]
id = "com.amazon.audio.stream"
# 音频管理功能在WebView中起作用的必需项,例如音频焦点、音量控制等功能
[[wants.service]]
id = "com.amazon.audio.control"
# 要为您的应用启用无障碍功能支持,强烈建议您使用服务注册器添加UCC服务
[[wants.service]]
id = "com.amazon.kepler.ucc.publisher"
# 取消注释以下部分以启用加密媒体播放(DRM内容)
# [[wants.service]]
# id = "com.amazon.drm.key"
# [[wants.service]]
# id = "com.amazon.drm.crypto"
# [[needs.privilege]]
# id = "com.amazon.privilege.security.file-sharing"
# 启用Group-IPC以访问媒体服务
[[wants.service]]
id = "com.amazon.gipc.uuid.*"
[offers]
[[offers.service]]
id = "com.amazon.gipc.uuid.*"
# 您可以根据需要添加其他服务
步骤3: 在App.tsx文件中导入并使用WebView组件
import { WebView } from "@amazon-devices/webview";
import * as React from "react";
import { useRef } from "react";
import { View, StyleSheet } from "react-native";
export const App = () => {
const webRef = useRef(null);
return (
<View style={styles.container}>
<WebView
// 标题:{},
ref={webRef}
hasTVPreferredFocus={true}
source={{
// 替换为您的URL。
uri: "https://www.example.com",
// 或者引用位于<根目录>/assets/index.html的文件
// uri:"file:///pkg/assets/index.html"
}}
javaScriptEnabled={true}
onLoadStart={(event) => {
console.log("onLoadStart url: ", event.nativeEvent.url)
}}
onLoad={(event) => {
console.log("onLoad url: ", event.nativeEvent.url)
}}
onError={(event) => {
console.log("onError url: ", event.nativeEvent.url)
}}
/>
</View>
);
};
// 布局样式,是正确焦点行为的必需项
const styles = StyleSheet.create({
container: { flex: 1 }
});
WebView属性
有关WebView组件属性的完整列表,请参阅Vega WebView组件参考。
hasTVPreferredFocus={true},才能在电视设备上实现正确的焦点行为。支持的媒体格式
Vega网页应用支持以下音频和视频格式:
支持的音频格式
- FLAC
- MP3
- Opus
- Vorbis
- AAC
- PCM 8位无符号整数
- PCM 16位有符号整数小端
- PCM 24位有符号整数小端
- PCM 32位浮点数小端
- PCM 16位有符号整数大端
- PCM 24位有符号整数大端
- PCM μ-law
- PCM A-law
- AAC-LC
- AAC-SBR
- AAC-PS
- AAC Scalable (MPEG-2)
支持的视频软件格式
- Theora
- MPEG4 Part 2
支持的视频硬件格式
- VP8
- VP9
- H.264
- H.265
相关主题
Last updated: 2025年10月13日

