フィードを作成する

メディアフィードは、カタログ内のメディア コンテンツ(テレビシリーズ、映画、曲、アルバムなど)を表すエンティティのコレクションを含む JSON オブジェクトです。オンボーディング プロセスの最初のステップは、フィードの開発を開始することです。ファイルの準備ができたら、Google が定期的に取得できるように、サポートされているホスティング方法のいずれかを使用してフィードをホストする必要があります。

フィード ファイル形式の要件

フィード ファイルの要件は次のとおりです。

  • フィード ファイルのファイル拡張子は .json にする必要があります。
  • フィード ファイルは暗号化しません。
  • フィード ファイルを UTF-8 でエンコードします(ファイル エディタの設定を確認してください)。

    alt_text

  • フィード ファイルが(未圧縮で)1 GB より大きい場合は、ファイルを複数のファイルに分割します。

  • エンティティ タイプ(tvseries.jsontvseasons.jsontvepisodes.jsonmovies.json など)ごとにファイルを作成することをおすすめします。

    • これらのファイルのいずれかが 1 GB を超える場合は、そのエンティティを複数のファイルに分割します(tvepisodes_01.jsontvepisodes_02.json など)。
    • ファイルサイズが 1 GB 未満である限り、1 つのファイルに含めることができるエンティティの数に制限はありません。
  • JSON 仕様に従って、ファイルが BOM なしでエンコードされていることを確認します。Linux OS で確認するには、hexdump file.json | head -n 1 がアドレス 0x00 で BBEF で始まっていない必要があります。

フィードのタイプ

本番環境フィード

  • これは、Google で公開するカタログ全体を表す一連の JSON フィード ファイルです。フィードの作成方法については、以下のセクションをご覧ください。
  • Google と初めて統合する場合は、このフィードのみが必要です。
  • このフィードが Google に送信されると、収集される情報の量とその正確性に関して高い品質基準を満たすよう、広範囲に分析され、数回反復処理されます。その後、最終的に取り込まれてリリースされます。

ステージング フィード

  • 本番環境フィードの拡張が必要なユースケースもあります。このようなシナリオの例をいくつか示します。
    • フィードが拡張され、以前にリリースされていない新しいエンティティ タイプが追加されました。
    • フィードが拡張され、新しい言語 / 地域でリリースされる大量の新しいエンティティ / メタデータが含まれるようになりました。
    • 新しいプラットフォーム タイプへのフィードの拡大。たとえば、本番環境フィードが Google 検索でのみリリースされており、Google TV にもリリースを拡大する場合などです。
  • このような場合は、ステージング フィードが必要です。このフィードは、新しいプラットフォームのディープリンクや新しい言語 / 地域のメタデータなど、追加のメタデータが含まれていることを除き、本番環境フィードのコピーです。
  • 本番環境フィードと同様に、収集される情報量とその正確性に関してより高い品質基準を達成するために、このフィードは広範囲に分析され、数回反復処理されます。品質バーを達成すると、このフィードが現在の本番環境フィードに置き換わり、新しい本番環境フィードになります。
  • このフィードを使用すると、最初のリリースと追加のリリースを分離し、本番環境フィードに影響を与えることなく、必要なすべてのテストを実行できます。これにより、エンドユーザー エクスペリエンスの中断を回避できます。

上記についてご不明な点がございましたら、Google の担当者にお問い合わせください。

フィード ファイルを作成する

フィードを作成する際は、次のベスト プラクティスに従ってください。

  1. 少数のエンティティを使用してサンプル フィードを作成する

    カタログ内のすべてのコンテンツを含むフィードを作成する前に、少数のエンティティだけを使用してサンプル フィードを作成することをおすすめします。フィードの作成中に、問題が発生する可能性があります。エンティティ セットのサイズを制限することで、これらのエラーや警告をより簡単にデバッグできます。

  2. サンプル フィードを検証する

    フィードが仕様に準拠していることを確認するツールが用意されています。サンプル フィードに見つかったすべてのエラーと警告を解決するには、これらのツールを使用することをおすすめします。

  3. 本番フィードを作成する

    少数のエンティティで適切な構造が作成できたら、カタログ全体のフィードを作成します。

サンプル フィードを作成する

  1. カタログから代表的なエンティティを 1 つ選択します。カタログ内のエンティティとしては一般的なエンティティで、構造が比較的複雑なものを選択します。
  2. データフィード検証ツールを使用して、構文エラーと欠けている必須プロパティを確認します。(詳細については、次のセクションをご覧ください)。

    単一の Movie エンティティを含むフィードの例

    {
      "@context": "http://schema.org",
      "@type": "DataFeed",
      "dateModified": "2018-07-20T00:44:51Z",
      "dataFeedElement": [
        {
          "@context": ["http://schema.org", {"@language": "en"}],
          "@type": "Movie",
          "@id": "http://www.example.com/my_favorite_movie",
          "url": "http://www.example.com/my_favorite_movie",
          "name": "My Favorite Movie",
          "potentialAction": {
            "@type": "WatchAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://www.example.com/my_favorite_movie?autoplay=true",
              "inLanguage": "en",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/MobileWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/AndroidTVPlatform",
                "http://schema.org/IOSPlatform",
                "http://schema.googleapis.com/GoogleVideoCast"
              ]
            },
            "actionAccessibilityRequirement": {
              "@type": "ActionAccessSpecification",
              "category": "subscription",
              "requiresSubscription": {
                "@type": "MediaSubscription",
                "name": "Example Package",
                "commonTier": true,
                "@id": "[partner determined string]"
              },
              "availabilityStarts": "2018-07-21T10:35:29Z",
              "availabilityEnds": "2019-10-21T10:35:29Z",
              "eligibleRegion": [
                {
                  "@type": "Country",
                  "name": "US"
                },
                {
                  "@type": "Country",
                  "name": "CA"
                }
              ]
            }
          },
          "sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
          "releasedEvent": {
            "@type": "PublicationEvent",
            "startDate": "2008-01-20",
            "location": {
              "@type": "Country",
              "name": "US"
            }
          },
          "description": "This is my favorite movie.",
          "actor": [
            {
              "@type": "Person",
              "name": "John Doe",
              "sameAs": "https://en.wikipedia.org/wiki/John_Doe"
            },
            {
              "@type": "Person",
              "name": "Jane Doe",
              "sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
            }
          ],
          "identifier": [
            {
              "@type": "PropertyValue",
              "propertyID": "IMDB_ID",
              "value":  "tt0123456"
            }
          ]
        }
      ]
    }

サンプル フィードを検証する

メディア フィードの Google の構造化データ仕様に基づいてサンプルフィードを検証するには、次のツールを使用できます。

  • データフィード検証ツール

    データフィード検証ツールでは、一度に 1 つのエンティティを検証できます。このツールを使用して、カタログのサンプル エンティティを検証し、構造エラーと一般的なコンテンツ エラーがないか確認します。このツールの詳細については、こちらをご覧ください。

  • JSON スキーマ検証ツール

    JSON スキーマ検証ツールを使用すると、フィード内のすべてのファイルを検証できます。フィード開発中にこのツールを使用して、一般的な構造エラーを回避してください。このツールの詳細については、こちらをご覧ください。

本番フィードを作成する

  1. サンプル フィードのすべてのエラーと警告を解決したら、カタログ内のすべてのエンティティを含むようにフィードを拡張します。
  2. データフィード検証ツールを頻繁に使用して、フィード内のエンティティを一度に少しずつ検証します(ツールに多数のエンティティを貼り付けると、ウェブブラウザがフリーズする恐れがあります)。フィード内のエンティティ数とカタログ内のアイテム数を比較して、フィードにカタログ内のすべてのエンティティが含まれていることを確認します。