开发人员控制台

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的支持,接受启动请求(intents)。

要使Fire TV和第二屏幕应用支持DIAL,有五个步骤:

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

修改您的Android清单

为了支持DIAL,您必须对Android清单(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作为意图附加信息提供。