DIAL 集成


DIAL 集成

Amazon Fire TV 设备通过 Whisperplay 服务支持 DIAL(发现和启动)协议。DIAL 是一种开放协议,使您的 Fire TV 应用能够通过第二屏幕应用从另一台设备发现和启动。Fire TV 和第二屏幕设备必须位于同一网络上。

请注意,DIAL 不会转换或镜像 API。DIAL 仅允许第二屏幕设备上的应用查找和启动 Fire TV 上的应用。大多数情况下,您同时实施第二屏幕应用(用于发送启动消息)和相应的 Fire TV 应用(用于接收该消息)。

有关开放式 DIAL 协议以及将应用注册到 DIAL 服务的详细信息,请参阅 DIAL 网站

实施 DIAL

DIAL 功能不需要对 Amazon Fire TV 应用的代码进行任何更改,但您需要修改应用的清单和资源,以指示对 DIAL 的支持并接受启动意图。

为您的 Fire TV 和第二屏幕应用实施 DIAL 支持有五个步骤:

  1. 在第二屏幕应用中,实施 DIAL 协议以在 Fire TV 上发现和启动应用。有关更多信息,请参阅 DIAL 网站,特别是面向开发者的详细信息中的信息。
  2. 在 DIAL 注册表中注册您的 Fire TV 应用。有关详细信息,请参阅关于注册表
  3. 在您的 Fire TV 应用中,处理 DIAL 启动意图有效负载。仅当您的第二屏幕应用发送意图有效负载时,此步骤才是必要的。该有效负载作为意图额外信息通过值 COM.amazon.Extra.Dial_param 提供。
  4. 在您的 Fire TV 应用中,修改安卓清单以支持 DIAL。请参阅修改您的安卓清单
  5. 在您的 Fire TV 应用中,向应用的资源添加 Whisperplay.xml 文件。请参阅添加 Whisperplay.xml 文件

修改您的安卓清单

为了支持 DIAL,您必须对安卓清单 (AndroidManifest.xml) 进行两项更改:

  • <application> 中添加一个 <meta-data> 元素,以指示支持 Whisperplay 和 DIAL。
  • DEFAULT 类别添加到您的启动意图中。

在清单的 <application> 部分中,添加以下 <meta-data> 元素:

<application ... >
    <meta-data android:name="whisperplay"  android:resource="@xml/whisperplay"/>
    ...
</application>

接下来,将 DEFAULT 意图类别添加到主活动的 <intent-filter> 元素中:

    <activity android:name=".MainActivity"
              android:label="@string/title_activity_main" >
        ...
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER"/>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

添加 Whisperplay.xml 文件

将名为 Whisperplay.xml 的文件添加到 res/xml/ 目录内您应用的资源中。该文件的内容应如下所示,其中 DialAppName 是您的应用在 DIAL 注册表中的名称:

<whisperplay>
    <dial>
        <application>
            <dialid>DialAppName</dialid>
            <startAction>android.intent.action.MAIN</startAction>
        </application>
    </dial>
</whisperplay>

DIAL 有效载荷意图

如果您的应用接受 DIAL 有效负载(可通过 DIAL 启动请求传递给您的应用的信息),则该有效负载将通过值 com.amazon.extra.DIAL_PARAM 作为意图额外信息提供。