媒體動態饋給是 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,請將實體分割成多個檔案 (例如
請確認檔案編碼不含 BOM,符合 JSON 規格。如要檢查 Linux OS,
hexdump file.json | head -n 1不得在位址 0x00 以BBEF開頭。
動態饋給類型
正式版動態饋給
- 這代表一組 JSON 動態饋給檔案,共同代表您要在 Google 上推出的完整目錄。請參閱下節,瞭解如何建立動態饋給。
- 如果您是首次與 Google 整合,則只需要這個動態饋給。
- 將這個動態饋給提交給 Google 後,我們會進行廣泛分析並反覆調整幾次,確保擷取的資訊量和正確性達到更高的品質標準,然後才會擷取並發布。
預備動態饋給
- 在某些情況下,您可能需要擴充產品動態饋給。以下列舉幾個這類情況:
- 擴充動態饋給,納入先前未推出的新實體類型。
- 擴充動態饋給,納入大量新實體/中繼資料,以便在新的語言代碼中推出。
- 將動態消息擴展至新的平台類型。舉例來說,如果正式版產品動態饋給只在 Google 搜尋上推出,而您現在想擴大推出至 Google TV。
- 在這種情況下,必須使用測試動態饋給。這個動態饋給是正式版動態饋給的副本,但包含額外的中繼資料,例如新平台的深層連結、新語言代碼的中繼資料等。
- 與產品動態饋給類似,我們會對這項資料進行廣泛分析,並反覆調整幾次,以提高擷取資訊量和正確性的品質標準。達到品質標準後,這個產品動態饋給就會取代目前的正式版動態饋給,成為新的正式版動態饋給。
- 這個動態饋給可讓我們區分初始發布和後續發布,並執行所有必要測試,而不影響正式版動態饋給。這樣一來,使用者體驗就不會中斷。
如有任何疑問,請洽詢 Google 代表。
建立動態饋給檔案
建立動態饋給時,請遵循下列最佳做法:
-
建立包含目錄中所有內容的動態饋給之前,建議您先建立只含少量實體的範例動態饋給。處理動態饋給時,可能會遇到問題。限制實體集的大小,可讓您更輕鬆地偵錯這些錯誤和警告。
-
我們提供多項工具,確保動態饋給符合規格。建議您使用這些工具,解決範例動態饋給中的所有錯誤和警告。
-
確認一小組實體的結構良好後,請為整個目錄建立動態饋給。
建立範例動態饋給
- 從目錄中選取一個代表實體。選擇結構合理複雜,但仍是目錄中典型實體的實體。
- 使用 JSON 結構定義驗證工具檢查語法錯誤和缺少的必要屬性。(詳情請參閱下一節)。
包含單一
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 結構定義驗證工具會在本機驗證動態饋給中的所有檔案,再上傳。在開發動態饋給時使用這項工具,可避免常見的結構和類型錯誤。如要進一步瞭解這項工具,請參閱這篇文章。
Search Console 中的目錄資源
Google 代表啟用 Search Console 目錄資源,並擷取範例或測試動態饋給後,請使用 Search Console 的目錄資源,檢查實體層級的驗證錯誤、警告和擷取診斷。
建立正式版動態饋給
- 解決範例動態饋給中的所有結構錯誤和警告後,請展開動態饋給,納入目錄中的所有實體。
- 對展開的動態饋給檔案執行 JSON 結構定義驗證工具,並在上傳後查看 Search Console 上的目錄屬性,確認沒有驗證錯誤。請比較動態饋給中的實體數量與目錄中的項目數量,確認動態饋給包含目錄中的所有實體。