DIALの統合
Amazon Fire TVデバイスは、Whisperplayサービスを介してDIAL(Discovery-and-Launch)プロトコルをサポートします。DIALは別のデバイスからセカンドスクリーンアプリを使用してFire TV対応アプリを検出し、起動できるようにするオープンプロトコルです。それには、Fire TVとセカンドスクリーンデバイスが同じネットワークに存在する必要があります。
DIALは、キャスティングやミラーリングの機能を提供するAPIではありません。セカンドスクリーンデバイスのアプリがFire TVでアプリを見つけて起動できるようにするだけです。通常は、セカンドスクリーンアプリ(起動メッセージの送信側)と、対応するFire TV対応アプリ(メッセージの受信側)の両方を実装します。
オープンDIALプロトコルの詳細と、アプリをDIALサービスに登録する方法の詳細については、DIALのウェブサイトを参照してください。
DIALを実装する
DIALを使用するために、Amazon Fire TV対応アプリのコードを変更する必要はありません。ただし、アプリのマニフェストとリソースに変更を加えて、DIALをサポートしていることを示し、起動インテントを受信できるようにする必要があります。
Fire TVとセカンドスクリーンアプリにDIALサポートを実装するには、次5つの手順を実行します。
- Fire TVでアプリを見つけて起動するために、セカンドスクリーンアプリにDIALプロトコルを実装します。詳細については、DIALのウェブサイト、特にDetails for Developers(開発者向け詳細情報)を参照してください。
- Fire TV対応アプリをDIALレジストリに登録します。詳細については、About the Registry(レジストリについて)を参照してください。
- Fire TV対応アプリで、DIAL起動インテントペイロードを処理します。この手順は、セカンドスクリーンアプリがインテントペイロードを送信する場合にのみ必要です。このペイロードはインテントエクストラ(値:
com.amazon.extra.DIAL_PARAM
)として送信されます。 - Fire TV対応アプリで、DIALをサポートするようにAndroidマニフェストを変更します。詳細については、Androidマニフェストを変更するを参照してください。
- Fire TV対応アプリで、
Whisperplay.xml
ファイルをアプリのリソースに追加します。詳細については、Whisperplay.xmlファイルを追加するを参照してください。
Androidマニフェストを変更する
DIALをサポートするには、Androidマニフェスト(AndroidManifest.xml
)に次の2つの変更を加えます。
- WhisperplayとDIALをサポートしていることを示す
<meta-data>
要素を<application>
に追加します。 - 起動インテントに
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
)として配信されます。