媒体 Feed 是一个 JSON 对象,其中包含代表 目录中的媒体内容,例如电视连续剧、电影、歌曲、专辑等。为实现这一目标 授权参与流程就是开始开发您的 Feed。文件准备就绪后,您需要托管 使用支持的托管方法之一添加 Feed,以便 Google 定期提取。
Feed 文件格式要求
以下是对 Feed 文件的要求:
- Feed 文件的文件扩展名必须为
.json
。 - 请勿加密 Feed 文件。
以 UTF-8 编码您的 Feed 文件(请检查您的文件编辑器设置)。
如果 Feed 文件大于 1 GB(未压缩),请将该文件拆分为多个文件。
我们建议您按实体类型(例如
tvseries.json
、tvseasons.json
、tvepisodes.json
、movies.json
等)创建一个文件。- 如果其中任何文件超过 1GB,请将其实体拆分为多个
文件(例如
tvepisodes_01.json
、tvepisodes_02.json
等)。 - 只要文件大小小于 1 GB,单个文件中包含的实体数量就不受限制。
- 如果其中任何文件超过 1GB,请将其实体拆分为多个
文件(例如
确保根据 JSON 规范对文件进行编码,且不含 BoM。如需在 Linux 操作系统上检查,
hexdump file.json | head -n 1
不得在地址 0x00 处以BBEF
开头。
Feed 类型
正式版 Feed
- 这表示一组 JSON Feed 文件,它们共同代表您您的整个目录 想要在 Google 上发布请参阅下文,了解如何创建 Feed。
- 如果您是第一次与 Google 集成,那么这是您所需的唯一 Feed。
- 将此 Feed 提交给 Google 后,我们会针对该 Feed 进行广泛的分析和迭代, 在捕获的信息量及其 在最终提取和发布之前测试其正确性。
暂存 Feed
- 在某些用例中,您需要扩展实际 Feed。几个示例
包括:
- 对 Feed 进行了扩展,以包含之前未发布的新实体类型。
- 对 Feed 进行了扩展,以加入大量要在新的 语言区域。
- Feed 将扩展到新的平台类型。例如,当生产 Feed ,现在您想要将投放范围扩大到 Google TV。
- 在这种情况下,必须使用预演 Feed。此 Feed 是正式版 Feed 的副本, 其中包含其他元数据,例如新平台的深层链接、新语言区域的元数据 依此类推。
- 与正式版 Feed 类似,系统会多次对该 Feed 进行广泛分析和迭代, 在捕获的信息量和正确性方面达到更高的质量标准。 达到质量标准后,此 Feed 将取代当前的正式版 Feed,成为 新的正式版 Feed。
- 我们可以通过此 Feed 将首次发布与其他发布区分开来, 所需的测试,而不影响正式版 Feed。这可确保不会出现中断 用户体验。
如果您对上述内容有任何疑问,请与您的 Google 代表联系。
创建 Feed 文件
创建 Feed 时,请遵循以下最佳做法:
-
在创建包含目录中所有内容的 Feed 之前,我们建议您先创建一个 仅包含一小部分实体的示例 Feed。在处理 Feed 时,您可能会遇到 问题。通过限制实体集的大小,您将能够调试这些错误并 警告。
-
我们提供了相关工具来确保您的 Feed 符合相关规范。我们建议 可以使用这些工具解决在示例 Feed 中发现的所有错误和警告。
-
确认为小部分实体设置好结构后,您可以为整个目录开发一个 Feed。
创建示例 Feed
- 从目录中选择一个代表性实体。请选择结构合理的复杂实体,但对于目录中的实体而言,这仍是典型实体。
- 使用数据 Feed 验证工具可检查是否存在语法错误和缺少必要属性的情况。(有关详情,请参阅下一部分)。
包含单个
Movie
实体的 Feed 示例{ "@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" } ] } ] }
验证示例 Feed
以下工具可帮助您使用 Google 的结构化数据验证示例 Feed 媒体 Feed 规范。
数据 Feed 验证工具
数据 Feed 验证工具一次可验证单个实体。使用此工具验证样本 实体中是否存在结构错误和常见内容错误。有关 此处详细了解该工具。
JSON 架构验证工具
JSON 架构验证工具可以验证 Feed 中的所有文件。在 开发 Feed 以避免常见的结构错误。如需详细了解 工具此处.
创建正式版 Feed
- 示例 Feed 中的所有错误和警告都得到解决后,展开该 Feed 以包含 目录中的实体
- 使用数据 Feed 验证工具 频繁验证 Feed 中的少量实体(将大量 实体可能会冻结网络浏览器)。确认您的 Feed 包含所有实体 比较 Feed 中的实体数量与 目录。