Matter投屏概述
借助Matter投屏,客户可以在iOS或Android手机上播放内容,将其投屏到Fire TV或Echo Show,并通过手机控制播放。无需依赖专有投屏协议。
本概述文档旨在介绍将Matter投屏集成至Fire TV与移动应用之前,您需要掌握的关键概念和术语。熟悉这些概念后,请继续阅读Matter投屏集成指南,逐步实现代码。
Matter投屏的应用场景
将Matter投屏集成至Fire TV和移动应用,可以为您的应用带来诸多优势:
- 支持媒体和设备控件,例如播放、暂停、导航、快进、快退和音量,让客户可以直接通过手机控制电视上的观看体验。
- 与Fire TV或Echo Show设备上运行的应用协同工作。
- 客户可以在手机上浏览内容或开始播放,并将其投屏至兼容的Fire TV或Echo Show设备。
- 如果您尚未安装Fire TV应用,可协助将其安装至Fire TV或Echo Show设备。
先决条件
在将Matter投屏集成至Fire TV和移动应用之前,务必满足以下条件:
- 具备Android或iOS开发环境,最好拥有Android调试桥 (ADB) 访问权限、IDE和模拟器。
- 能够访问Fire TV、iOS或Android移动应用的源代码。
- 具备支持Matter投屏的Fire TV设备。这包括大多数运行Fire OS 7或更高版本的设备。
- 从CSA官网下载Matter最新规范,以供参考。建议下载核心规范、设备库规范,以及应用程序集群规范。Matter投屏在应用集群规范的媒体部分中定义。
关键概念和术语
以下各节介绍了在集成Matter投屏之前,您需要掌握的关键概念和术语。其中包括投屏交互中的主要角色(播放器、客户端和内容应用)、全文关键术语汇总表,以及客户端用于控制播放器或内容应用的相关命令所对应的集群。
有关更多信息,请参阅以下资源:
- Connectivity Standards Alliance (CSA) 官网上的Matter官方文档(仅提供英文版)。
- 适用于其他开源示例应用的Matter GitHub存储库。
- 适用于官方协议定义的Matter 1.5规范。
角色:播放器、客户端和内容应用
在Matter投屏中,角色描述了各设备或应用在投屏交互中发挥的作用。本文档对投屏交互所涉及的设备及应用定义如下:
-
播放器: 您的Fire TV和Echo Show设备均属于投屏视频播放器。播放器负责将媒体内容渲染到物理输出设备或内置显示屏上。
-
客户端: 您的Android或iOS移动应用。客户端负责发现网络中的播放器、发起投屏并控制播放。
-
内容应用: 您的Fire TV应用。内容应用负责在播放器上运行,并接收客户端发出的命令。
客户端既能控制播放器本身(如调整Fire TV的输出音量),也能控制运行在播放器上的特定内容应用。
术语汇总
除上述角色外,下表还汇总了本文档中使用的关键术语。
| 术语 | 定义 |
|---|---|
| 播放器 (Player) | 投屏视频播放器 |
| 客户端 (Client) | Android或iOS应用 |
| 内容应用 (Content app) | Fire TV应用 |
| 结构 (Fabric) | 网络中共享同一安全域的设备或应用 |
| 配网 (Commissioning) | 客户端加入网络结构的过程 |
| 配网者 (Commissioner) | 客户用来投屏的播放器 |
| 受配网者 (Commissionee) | 在网络上发现播放器的客户端 |
| 用户直接配网 (UDC) 请求 (User Directed Commissioning request) | 客户端发送给播放器的消息 |
| 设备认证证书 (DAC) (Device Attestation Certificate) | 通过确定客户端供应商来验证客户端的身份,并确定客户端有权向哪些内容应用投射内容。 |
| 客户端供应商 | 向播放器提供的信息,用于验证客户端身份,并确定必须授予访问权限的内容应用。 |
集群
在Matter中,集群是指播放器或内容应用向客户端暴露的一组关联功能,以便客户端控制其行为。每个集群定义一项您选择支持的投屏功能或体验。例如,内容应用可支持方向键导航(键盘输入集群)、播放控件(媒体播放集群)或用户登录(账户登录集群)。
Fire TV支持以下视频播放器和内容应用集群。
| 集群名称 | 目标 | 描述 |
|---|---|---|
| 开启/关闭 | 视频播放器 | 打开或关闭Fire TV。 |
| 账户登录 | 内容应用 | 使用户能够登录其账户的命令。 |
| 应用程序启动器 | 内容应用 | 用于在视频播放器设备上启动应用或应用安装流程的接口。 |
| 键盘输入 | 内容应用 | 使用向上、向下和选择等操作命令控制视频播放器或内容应用。 |
| 媒体播放 | 内容应用 | 控制视频播放器设备上的媒体播放(播放、暂停等)。 |
| 目标导航器 | 内容应用 | 用于在目标集中进行用户体验导航的接口。 |
| 内容启动器 | 内容应用 | 在视频播放器设备上的内容应用中启动特定内容。 |
配网
配网是指将客户端安全连接到播放器,实现双方通信的过程。在Matter中,已完成配网的设备所共享的网络称为“结构”,即共享同一安全域的设备集。配网仅在客户首次投屏到播放器时发生一次。在此过程中,播放器是“配网发起者”,客户端是“配网接收者”。
配网流程包括以下步骤,涵盖从发现网络上的播放器到将客户端添加至播放器结构的完整过程:
- 发现设备。客户端(配网接收者)利用DNS-Based Service Discovery (DNS-SD) 发现网络上的播放器,并将生成的投屏目标列表呈现给用户。
- 选择目标播放器。用户选择目标播放器后,客户端向该播放器发送请求配网的消息。该消息称为UDC请求。其中包含客户端的相关信息、配网方式(是否显示与如何显示密码输入对话框),及其想要投屏的内容应用。
- 交换密码。播放器会检查自身是否已安装与UDC请求对应的内容应用,然后尝试获取配网流程所需的密码和鉴别器。上述内容可从内容应用中获取,或由用户手动输入。密码是播放器和客户端之间建立安全连接所需的8位数字代码。
- 建立安全连接并配网。播放器与客户端通过密码建立安全连接后,即可交换操作证书,从而将客户端配网至播放器的Matter结构中。在交换过程中,客户端会提供其DAC。播放器可通过DAC验证客户端身份(确定客户端的供应商)并确定客户端有权投屏的内容应用。
配网完成后,客户端和播放器之间会建立CASE(证书认证会话建立)会话。客户端会缓存此连接信息,这样在后续会话中,无需重复配网流程,即可直接重建CASE会话。
在第3步中,Fire TV提供了两种密码获取方式。选择哪种实现方式,取决于您是否构建用于密码传输的云服务。
方法1: 在客户端中手动输入密码(推荐)
当客户端首次连接到播放器时,如果对应的内容应用不支持账户登录集群,或GetSetupPIN命令未返回密码(例如,因为TempAccountIdentifier不匹配或云端查询失败),则用户必须在客户端中手动输入密码。
在此情况下,整个流程会经历以下三个阶段:
- 第1阶段:发现和请求: 客户端通过DNS-SD发现播放器,并发送UDC请求,表明其已做好连接准备。
- 第2阶段:PIN码手动路由: 播放器会生成一个8位密码,并将其显示在屏幕上。用户在客户端中手动输入此密码。
- 第3阶段:身份验证: 客户端向播放器提供密码及其DAC。播放器验证无误后,将客户端顺利添加到其结构中。
方法2: 借助内容应用
当客户端首次连接到播放器时,播放器会根据UDC消息识别出对应的内容应用。随后,播放器会读取static_matter_cluster文件,用于判断该应用是否实现了账户登录集群。如果该集群存在,则播放器可利用内容应用来获取密码,从而无需用户手动输入,即可完成客户端配网。
在此情况下,整个流程会经历以下三个阶段:
- 第1阶段:发现和请求: 客户端将密码和
TempAccountIdentifier(轮换式ID令牌)上传到开发者的云服务中,然后通过DNS-SD发现播放器,并发送含有相同TempAccountIdentifier的UDC请求。 - 第2阶段:PIN码后台路由: 播放器调用内容应用上的
GetSetupPIN命令,从而传递TempAccountIdentifier。内容应用从云服务中获取匹配密码并返回给播放器,全程无需用户手动输入设置PIN码。 - 第3阶段:身份验证: 客户端向播放器提供密码及其DAC。随后,播放器验证密码与DAC,然后将客户端添加至其结构。
GetSetupPIN外,播放器还会调用该集群的login和logout命令,用于标示客户端访问权限的添加或移除情况。方法2要求内容应用实现账户登录集群,并部署可传输密码的云服务;若内容应用未能返回密码,则播放器将自动回退至方法1。应用认证
在配网过程中,Matter投屏要求客户端向播放器提供认证信息。播放器可借助该认证信息来验证客户端身份,并确定必须授予访问权限的内容应用。每个内容应用都会将相关信息储存在Android清单文件中,用于指定可获得访问权限的客户端。播放器使用此信息将内容应用与一个或多个客户端匹配。在Matter中,认证流程通过DAC和认证声明 (CD) 完成。有关认证程序和DAC的更多详情,请参阅应用认证。
其他资源
- 适用于iOS和Android的客户端SDK,可以使用Matter Github存储库中的源代码进行构建。
- 有关运行在播放器上的示例内容应用的源代码,可以在Matter Github存储库的content-app中找到。
相关主题
Last updated: 2026年7月15日

