媒體動態饋給是 JSON 物件,其中包含代表目錄中媒體內容的實體集合,例如電視影集、電影、歌曲、專輯等。啟動設定程序的第一步,就是開始開發動態饋給。檔案準備就緒後,您必須使用支援的其中一種代管方式代管動態饋給,讓 Google 定期擷取。
動態饋給檔案格式規定
以下是動態饋給檔案的相關規定:
- 動態饋給檔案的副檔名必須為
.json
。 - 請勿加密動態饋給檔案。
使用 UTF-8 編碼動態饋給檔案 (請查看檔案編輯器設定)。
如果動態饋給檔案大於 1 GB (未壓縮),請將檔案分割成多個檔案。
建議您為每個實體類型建立一個檔案 (例如
tvseries.json
、tvseasons.json
、tvepisodes.json
、movies.json
等)。- 如果這些檔案超過 1 GB,請將實體分割為多個檔案 (例如
tvepisodes_01.json
、tvepisodes_02.json
等)。 - 只要檔案大小不超過 1 GB,單一檔案可包含的實體數量就沒有限制。
- 如果這些檔案超過 1 GB,請將實體分割為多個檔案 (例如
請務必依據 JSON 規格,不使用 BOM 編碼檔案。如要在 Linux 作業系統上檢查,
hexdump file.json | head -n 1
不得在位址 0x00 的BBEF
開頭。
動態饋給類型
正式版動態饋給
- 這代表一組 JSON 動態饋給檔案,這些檔案共同代表你想在 Google 上發布的整個目錄。如要瞭解如何建立動態饋給,請參閱下文。
- 如果你是首次與 Google 整合,就只需要這個動態饋給。
- 提交至 Google 後,系統會進行全面分析並重複執行幾次,以便在擷取的資訊量和正確性方面達到更高的品質標準,最後再將動態饋給納入並發布。
暫存動態饋給
- 在某些情況下,你可能需要擴充正式版動態饋給。以下列舉幾個這類情況:
- 擴充動態饋給,納入先前未推出的新實體類型。
- 擴充動態饋給,納入大量新實體/中繼資料,以便在新語言代碼中推出。
- 將動態饋給擴展至新的平台類型。舉例來說,如果正式版動態饋給只在 Google 搜尋上發布,而你現在想將發布範圍擴大到 Google TV,
- 在這種情況下,你必須使用測試版動態饋給。這個動態饋給是正式版動態饋給的副本,但含有額外中繼資料,例如新平台的深層連結、新語言代碼的中繼資料等等。
- 與正式版動態饋給類似,這項測試版也會經過多次廣泛分析和迭代,以便在擷取的資訊量和正確性方面達到更高的品質標準。達到品質標準後,這個動態饋給就會取代目前的正式版動態饋給,成為新的正式版動態饋給。
- 這個動態饋給可讓我們將初始啟動作業與其他啟動作業分開,執行所有必要的測試,而不影響正式版動態饋給。這可確保不會中斷使用者體驗。
請與 Google 代表聯絡,釐清您對上述內容的任何疑問。
建立動態饋給檔案
建立動態饋給時,請遵循下列最佳做法:
-
在建立包含目錄中所有內容的動態饋給之前,建議您先建立只含少量實體的範例動態饋給。處理動態時,你可能會遇到問題。限制實體集合的大小後,您就能更輕鬆地對這些錯誤和警告進行偵錯。
-
我們提供工具,確保你的動態饋給符合規格。建議您使用這些工具,解決範例動態饋給中出現的所有錯誤和警告。
-
確認已為少量實體建立良好的結構後,請為整個目錄開發動態饋給。
建立動態饋給範例
- 從目錄中選取一個代表性實體。選擇結構合理複雜的實體,但仍是目錄中實體的典型。
- 使用資料動態饋給驗證工具檢查語法錯誤和缺少的必要屬性。(詳情請參閱下一節)。
含有單一
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 結構定義驗證工具可驗證動態饋給中的所有檔案。在動態饋給開發期間使用這項工具,可避免常見的結構性錯誤。如要進一步瞭解這項工具,請按這裡。
建立正式版動態饋給
- 解決範例動態饋給中的所有錯誤和警告後,請擴充動態饋給,納入目錄中的所有實體。
- 請經常使用資料動態饋給驗證工具,一次驗證動態饋給中的少數實體 (在工具中貼上大量實體可能會使網頁瀏覽器凍結)。比較動態饋給中的實體數量與目錄中的項目數量,確認動態饋給包含目錄中的所有實體。