カタログファイルを最新のCDFバージョンに移行する方法


カタログファイルを最新のCDFバージョンに移行する方法

このページでは、v1.0から始まるFire TV CDFスキーマの各バージョンに関する変更点と、カタログファイルを最新バージョンにアップデートするための一連の手順について説明します。

移行の概要

Amazonでは、新しいメタデータを受け入れ、使用していない情報を削除し、カタログ構造を整理するために、カタログデータ形式(CDF)XMLスキーマをアップデートすることがあります。これらの変更で既存のCDFファイルが無効になることはありませんが、古いタグ内の一部のデータが無視されたり、以前とは異なる方法で使用されたりすることがあるため、非推奨に関する警告がカタログ統合レポート(カタログファイルを検証するで説明)に表示されます。

この変更を加える方法や箇所はカタログファイルの作成方法によって異なります。コードを使用してデータベースから情報を取得し、カタログファイルに変換している場合は、変換コードを変更する必要があります。CDFに準拠するようにデータベースが構築されている場合は、データベースのフィールドを変更する必要があります。

CDFファイルの各バージョンは順に変更が加えられているため、v1.0からv1.1、v1.1からv1.2のように段階を踏んでアップグレードしてください。開発者によって開始バージョンが異なるだけで、アップグレードは直線的に進みます。ファイルで使用しているCDFバージョンが不明な場合は、最初から始めてください。バージョン間の変更点は、大抵の場合が新しいオプション要素の追加です。そのため、現在のファイルを新しいスキーマバージョンに適応させる際に必要な変更は少なく、通常はバージョンあたり1つか2つのみです。

一部のXML要素は、CDF XSDファイルで定義された順序でカタログファイルに配置する必要があります。要素を配置する順序を誤ると、カタログファイルが無効になります。要素の順序についてご不明な点がある場合は、該当するXSDファイルを参照してください。

サンプルCDFファイル(ZIP)も参照してください(ダウンロードできます)。

このトピックは、XMLとCDFスキーマについて理解していることを前提としています。

CDF v1.0からv1.1への移行

CDF v1.0とv1.1の違いは以下のとおりです。

アイテム タイプ 変更点 説明
WorkType.Source 要素 追加 省略可能。作品の提供元を指定します。使用できる値は以下のとおりです。
  • original: 開発者の会社で制作された作品。たとえば、開発者がAmazonであれば、Amazonオリジナルのシリーズ作品「トランスペアレント」にこの値を指定します。
  • licensed: 別の提供元から開発者の会社にライセンス供与されている作品。
  • other: 提供元はわかっているがoriginalにもlicensedにも分類できない作品。
  • unknown: 提供元が不明な作品。
WorkType.AdultProduct 要素 廃止 この値は使用されなくなったため、この要素は削除する必要があります。アダルトコンテンツはContentRatings要素を使用して識別できます。日本では、v1.2で追加されたJP_Require18PlusAge
Confirmation要素を使用できます。

CDFファイルをv1.0からv1.1にアップデートするには

  1. WorkType.AdultProductのすべてのインスタンスを削除します。
  2. 省略可能: すべての作品要素(Movie、TvShow、TvEpisode、TvSpecial、TvSeason、MiniSeries、MiniSeriesEpisode、Extra)にSource要素を追加します。Source要素の配置方法は作品タイプによって異なります。正しい配置方法についてはXSDを参照してください。

CDF v1.1からv1.2への移行

CDF v1.1とv1.2の違いは以下のとおりです。

アイテム タイプ 変更点 説明
Catalog.version 属性 追加 省略可能。この属性は、ファイルを操作するほかのユーザーに、このファイルがどのCDFバージョンに基づいて作成されたかがわかるようにするためのものです。許容される値はFireTv-v1.2FireTv-v1.3です。
OfferType.LaunchDetails 要素 追加 省略可能。以下の子要素を指定された順序で使用します。
  • Quality 省略可能。ビデオの画質を指定するOfferType.Quality要素がこの場所に移動しました。それ以外の点は古いバージョンと同じです。入力できる値は、SD、HD、UHDです。
  • AudioLanguage 省略可能。作品の元の言語または吹き替え音声の言語オプションです。
  • Subtitle 省略可能。作品の字幕の言語オプションです。
  • LaunchId 省略可能。このコンテンツを画質、音声、字幕の組み合わせを指定して再生するための識別子です。音声エンコード(吹き替え)、画質、字幕の言語が異なり、それ以外は同じメタデータを共有するコンテンツに1つの識別子を使用できます。この文字列の形式は特に決まっていません。開発者のアプリで解釈できること以外に必須の条件はありません。

    LaunchDetailsの各インスタンスには、Quality、AudioLanguage、Subtitle要素を必要なだけ使用できます。ただし、LaunchIdは1つのみです。別のLaunchIdを指定する場合は、LaunchDetails要素を別に作成します。以下の例を参照してください。

OfferType.Quality 要素 廃止/移動 この要素はOfferType.LaunchDetails(上記参照)の子要素になりました。新しい場所に移動されますが、それ以外の点は変わりません。
CustomerRating.Count 要素 追加 省略可能。最終的な評価の平均の計算に使用される評価の数を指定できます。CustomerRatingの下位の最後の要素として配置されます。
JP_Require18PlusAgeConfirmation 要素 追加 省略可能。日本のコンテンツプロバイダーでのみ使用されます。入力できる値はtrueとfalseです。trueを指定すると、日本の法律に従ってこのコンテンツの日本国内の視聴者にダイアログが表示されます。視聴者は年齢が18歳以上であることに同意する必要があります。この要素は、少なくとも、日本の規制機関によって18歳未満の視聴に適さないとみなされた作品では指定する必要があります。この要素の配置場所は作品タイプによって異なります。
CastMember.Role 要素 省略可能に変更 この要素には、キャストが演じる登場人物の名前を指定します。v1.1では必須でしたが、現在は省略可能です。

CDFファイルをv1.1からv1.2にアップデートするには

  1. Quality要素を持つすべてのSubscriptionOffer、FreeOffer、PurchaseOffer、RentalOfferで、以下の手順に従います。
    1. LaunchDetails要素を各Offerの最後の要素として追加します。
    2. Quality要素を現在の場所からLaunchDetails要素に移動します。

      例:

      変更前

      <FreeOffer>
         <Quality>HD</Quality>
              ...
       </FreeOffer>
      

      変更後

      <FreeOffer>
           ...
         <LaunchDetails>
            <Quality>HD</Quality>
          </LaunchDetails>
       </FreeOffer>
      
  2. 省略可能。Quality要素のないすべてのSubscriptionOffer、FreeOffer、PurchaseOffer、RentalOfferで、LaunchDetails要素をそれぞれの最後の要素として追加します。オプションのQuality、AudioLanguage、Subtitle、LaunchId情報を必要な数だけ追加します。

    <FreeOffer>
            ...
            <LaunchDetails>
                <Quality>HD</Quality>
                <AudioLanguage>en-us</AudioLanguage>
                <Subtitle>en</Subtitle>
                <Subtitle>es</Subtitle>
                <LaunchId>tt123456_HD_en-us</LaunchId>
            </LaunchDetails>
            <LaunchDetails>
                <Quality>HD</Quality>
                <AudioLanguage>es-mx</AudioLanguage>
                <Subtitle>en</Subtitle>
                <Subtitle>es</Subtitle>
                <LaunchId>tt123456_HD_es-mx</LaunchId>
            </LaunchDetails>
        </FreeOffer>
    
  3. 省略可能(ただし推奨)。CDFファイルの最上部にある既存のCatalog要素にversion属性を追加し、FireTv-v1.2に設定します。

    <Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.2">
    
  4. 省略可能。カタログ内にCustomerRating要素がある場合は、Count要素をCustomerRatingの最後の要素として追加します。この値は、CustomerRating.Score値が更新されるたびにアップデートする必要があります。この情報の収集と追跡の方法は、開発者が自由に決定できます。
  5. これは日本国内のFire TVコンテンツプロバイダー向けのオプションです。少なくともこれがtrueに設定されている作品にJP_Require18PlusAgeConfirmation要素を追加します。要素の配置場所は作品タイプによって異なるため、XSDファイルを参照してください。

    <Movie>
        ...
        <JP_Require18PlusAgeConfirmation>true</JP_Require18PlusAgeConfirmation>
        <ReleaseDate>1959-05-13T04:36:00</ReleaseDate>
    </Movie>
    

CDF v1.2からv1.3への移行

CDF v1.2とv1.3の違いは以下のとおりです。

アイテム タイプ 変更点 説明
MiniSeries 要素 追加 シーズンのない少数の連続したエピソードだけで構成されるTV番組を表すものとして、ミニシリーズが定義されました。
MiniSeriesEpisode 要素 追加 ミニシリーズ内の個々のエピソード。TvShowに対するTvEpisodeと同じように使用されます。
Extra 要素 追加 補完的な素材。作品に付随して提供されることがよくあります。使用できる値は以下のとおりです。
  • clip: 作品のワンシーンや、作品を撮ったカメラマンのドキュメンタリーなど、自由に指定できます。DVDのボーナスコンテンツと考えることができます。
  • trailer: 作品の公式の予告編や関連作品。
ReleaseInfo 要素 廃止/移動 この要素には2つの子要素が含まれていました。
  • ReleaseCountry: 使用されなくなりました。
  • ReleaseDate: 以下の場所に移動しました。 WorkType.ReleaseDate(Movie、TvShow、MiniSeriesの場合)、およびWorkType.OriginalAirDateTvEpisodeTvSpecialMiniSeriesEpisodeの場合)。

    元の値はXMLのdate形式(YYYY-MM-DD)ですが、新しい値はdateTime形式(YYYY-MM-DDThh:mm:ss)です。この要素は単に新しい場所に移動するだけでなく、値をそれぞれアップデートする必要があります。また、ReleaseInfo.ReleaseDateは省略可能でしたが、TvSpecialではOriginalAirDateは必須です。それ以外は引き続き省略可能です。

Movie.ReleaseDate 要素 追加 省略可能。廃止されたMovie.ReleaseInfo.ReleaseDateがこの場所に移動されました。詳細については、上記のReleaseInfoのエントリを参照してください。
TvShow.ReleaseDate 要素 追加 省略可能。廃止されたTvShow.ReleaseInfo.ReleaseDateがこの場所に移動されました。詳細については、上記のReleaseInfoのエントリを参照してください。
TvEpisode.OriginalAirDate 要素 追加 省略可能。廃止されたTvEpisode.ReleaseInfo.ReleaseDateがこの場所に移動されました。詳細については、上記のReleaseInfoのエントリを参照してください。
TvSpecial.OriginalAirDate 要素 追加 必須。廃止されたTvSpecial.ReleaseInfo.ReleaseDateがこの場所に移動されました。詳細については、上記のReleaseInfoのエントリを参照してください。
TvSpecial.ShowID 要素 追加 省略可能。特別番組が通常の連続物に含まれないイベントだった場合に、この要素を使用して、特定の番組に特別番組を関連付けることができます。この値はカタログ内のTvShow.IDの値と一致する必要があります。この値とTvSpecial.ShowTitleの両方を使用することはできません。
TvSpecial.ShowTitle 要素 追加 省略可能。この要素を使用して、カタログに含まれていない番組に特別番組を関連付けることができます。ShowTitle文字列は、カタログ内のいずれかのタイトルと一致している必要はありません。基になる構成がない場合に、関連しているように見せるために使用されます。ShowIDを使用できない場合は、この値のみを使用してください。
Works 要素 空を許容 以前は、空にするとカタログが無効になりました。現在は、Works要素を空にすると、Amazon Fire TVのユニバーサル閲覧・検索からすべてのコンテンツが除外されます。
WorkType.ID 要素 1文字以上の長さが必要 この要素自体(作品ごとに一意の識別子)は以前から必須でしたが、現在は値も必須になりました。これは情報の構成要素として非常に重要で、シーズンや番組とエピソードとの関連付けのほか、ファイル内のエラー箇所のレポートなどあらゆる場面で使用されるため、必ず設定し、一意の値を指定する必要があります。

CDFファイルをv1.2からv1.3にアップデートするには

  1. すべての作品のWorkType.ReleaseInfo.ReleaseDate要素を新しい場所に移動します。各日付の値をXMLのdateTime形式(YYYY-MM-DDThh:mm:ss)に変更します。作品がリリースまたは放映された正確な時間が不明な場合は、文字列のその部分にT00:00:00を入力してください。対象となるReleaseDate要素とOriginalAirDate要素は、該当する作品タイプの最後にある要素です。
    • Movie.ReleaseInfo.ReleaseDateをMovie.ReleaseDateに移動します。
    • TvShow.ReleaseInfo.ReleaseDateをTvShow.ReleaseDateに移動します。
    • TvEpisode.ReleaseInfo.ReleaseDateをTvEpisode.OriginalAirDateに移動します。
    • TvSpecial.ReleaseInfo.ReleaseDateをTvSpecial.OriginalAirDateに移動します。
    • TvSeason.ReleaseInfo.ReleaseDateは使用されなくなったため、移動する必要はありません。

      例:

      変更前

      <Movie>
      <Movie>
          ...
          <ReleaseInfo>
              <ReleaseDate>1959-05-13</ReleaseDate>
          </ReleaseInfo>
          ...
       </Movie>
          ...
          <TvSpecial>
              ...
              <ReleaseInfo>
                  <ReleaseDate>1959-05-13</ReleaseDate>
              </ReleaseInfo>
              ...
          </TvSpecial>
      

        変更後

      <Movie>
          ...
          <ReleaseDate>1959-05-13T00:00:00</ReleaseDate>
      </Movie>
      ...
      <TvSpecial>
          ...
          <OriginalAirDate>1959-05-13T00:00:00</OriginalAirDate>
      </TvSpecial>
      
  2. ReleaseInfo要素のすべてのインスタンスを削除します。ReleaseDate要素とReleaseCountry要素が含まれている場合は、それらも削除します。
  3. 空白のWorkType.ID要素がないことを確認します(通常はありません)。見つかった場合は、作品に一意のIDを割り当てます。

    例:

    変更前

    
    <TvShow>
        <ID></ID>
        ...
    </TvShow>
    

    変更後

    <TvShow>
      <ID>ts-123456</ID>
      ...
     </TvShow>
    
  4. 省略可能。既存のコンテンツの中にMiniSeriesの方が適しているものがあれば、その情報を新しいMiniSeries作品タイプとMiniSeriesEpisode作品タイプに移動します。
  5. 省略可能。既存のコンテンツの中にExtraの方が適しているものがあれば、その情報を新しいExtra作品タイプに移動します。
  6. 省略可能(ただし推奨)。CDFファイルの最上部にあるCatalog要素にversion属性を追加またはアップデートして、FireTv-v1.3に設定します。

    例:

    <Catalog xmlns="http://www.amazon.com/FireTv/2014-04-11/ingestion" version="FireTv-v1.3">
    
  7. 省略可能、ただし該当する場合は推奨。各TvSpecialShowID要素(推奨)またはShowTitle要素を追加して、その特別番組を番組に関連付けます。特別番組が単独の作品である場合は、これらの要素を省略できます。
  8. 省略可能。ReleaseInfo.ReleaseDate要素を使用していないTvSpecialまたはTvEpisodeに、OriginalAirDate要素とその値を追加します。
  9. 省略可能。ReleaseInfo.ReleaseDate要素を使用していないMovieまたはTvShowに、ReleaseDate要素とその値を追加します。