DIALの統合


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つの手順を実行します。

  1. Fire TVでアプリを見つけて起動するために、セカンドスクリーンアプリにDIALプロトコルを実装します。詳細については、DIALのウェブサイト、特にDetails for Developers(開発者向け詳細情報)を参照してください。
  2. Fire TV対応アプリをDIALレジストリに登録します。詳細については、About the Registry(レジストリについて)を参照してください。
  3. Fire TV対応アプリで、DIAL起動インテントペイロードを処理します。この手順は、セカンドスクリーンアプリがインテントペイロードを送信する場合にのみ必要です。このペイロードはインテントエクストラ(値:com.amazon.extra.DIAL_PARAM)として送信されます。
  4. Fire TV対応アプリで、DIALをサポートするようにAndroidマニフェストを変更します。詳細については、Androidマニフェストを変更するを参照してください。
  5. 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)として配信されます。