建立動態饋給

媒體動態饋給是 JSON 物件,其中包含代表目錄中媒體內容的實體集合,例如電視影集、電影、歌曲、專輯等。啟動設定程序的第一步,就是開始開發動態饋給。檔案準備就緒後,您必須使用支援的其中一種代管方式代管動態饋給,讓 Google 定期擷取。

動態饋給檔案格式規定

以下是動態饋給檔案的相關規定:

  • 動態饋給檔案的副檔名必須為 .json
  • 請勿加密動態饋給檔案。
  • 使用 UTF-8 編碼動態饋給檔案 (請查看檔案編輯器設定)。

    alt_text

  • 如果動態饋給檔案大於 1 GB (未壓縮),請將檔案分割成多個檔案。

  • 建議您為每個實體類型建立一個檔案 (例如 tvseries.jsontvseasons.jsontvepisodes.jsonmovies.json 等)。

    • 如果這些檔案超過 1 GB,請將實體分割為多個檔案 (例如 tvepisodes_01.jsontvepisodes_02.json 等)。
    • 只要檔案大小不超過 1 GB,單一檔案可包含的實體數量就沒有限制。
  • 請務必依據 JSON 規格使用 BOM 編碼檔案。如要在 Linux 作業系統上檢查,hexdump file.json | head -n 1 不得在位址 0x00 的 BBEF 開頭。

動態饋給類型

正式版動態饋給

  • 這代表一組 JSON 動態饋給檔案,這些檔案共同代表你想在 Google 上發布的整個目錄。如要瞭解如何建立動態饋給,請參閱下文。
  • 如果你是首次與 Google 整合,就只需要這個動態饋給。
  • 提交至 Google 後,系統會進行全面分析並重複執行幾次,以便在擷取的資訊量和正確性方面達到更高的品質標準,最後再將動態饋給納入並發布。

暫存動態饋給

  • 在某些情況下,你可能需要擴充正式版動態饋給。以下列舉幾個這類情況:
    • 擴充動態饋給,納入先前未推出的新實體類型。
    • 擴充動態饋給,納入大量新實體/中繼資料,以便在新語言代碼中推出。
    • 將動態饋給擴展至新的平台類型。舉例來說,如果正式版動態饋給只在 Google 搜尋上發布,而你現在想將發布範圍擴大到 Google TV,
  • 在這種情況下,你必須使用測試版動態饋給。這個動態饋給是正式版動態饋給的副本,但含有額外中繼資料,例如新平台的深層連結、新語言代碼的中繼資料等等。
  • 與正式版動態饋給類似,這項測試版也會經過多次廣泛分析和迭代,以便在擷取的資訊量和正確性方面達到更高的品質標準。達到品質標準後,這個動態饋給就會取代目前的正式版動態饋給,成為新的正式版動態饋給。
  • 這個動態饋給可讓我們將初始啟動作業與其他啟動作業分開,執行所有必要的測試,而不影響正式版動態饋給。這可確保不會中斷使用者體驗。

請與 Google 代表聯絡,釐清您對上述內容的任何疑問。

建立動態饋給檔案

建立動態饋給時,請遵循下列最佳做法:

  1. 使用少量實體建立範例動態饋給

    在建立包含目錄中所有內容的動態饋給之前,建議您先建立只含少量實體的範例動態饋給。處理動態時,你可能會遇到問題。限制實體集合的大小後,您就能更輕鬆地對這些錯誤和警告進行偵錯。

  2. 驗證範例動態饋給

    我們提供工具,確保你的動態饋給符合規格。建議您使用這些工具,解決範例動態饋給中出現的所有錯誤和警告。

  3. 建立正式版動態饋給

    確認已為少量實體建立良好的結構後,請為整個目錄開發動態饋給。

建立動態饋給範例

  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 媒體動態饋給的結構化資料規格驗證動態饋給範例。

  • 資料動態饋給驗證工具

    資料動態饋給驗證工具一次只能驗證單一實體。使用這項工具驗證目錄中的範例實體,找出結構性錯誤和常見內容錯誤。如要進一步瞭解這項工具,請按這裡

  • JSON 結構定義驗證工具

    JSON 結構定義驗證工具可驗證動態饋給中的所有檔案。在動態饋給開發期間使用這項工具,可避免常見的結構性錯誤。如要進一步瞭解這項工具,請按這裡

建立正式版動態饋給

  1. 解決範例動態饋給中的所有錯誤和警告後,請擴充動態饋給,納入目錄中的所有實體。
  2. 請經常使用資料動態饋給驗證工具,一次驗證動態饋給中的少數實體 (在工具中貼上大量實體可能會使網頁瀏覽器凍結)。比較動態饋給中的實體數量與目錄中的項目數量,確認動態饋給包含目錄中的所有實體。