本部分详细介绍了播客的内容标记属性。
PodcastSeries 规范
PodcastSeries
是播客系列的表示法,也称为播客“节目”。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@context |
必需 | 文本 | Schema.org 上下文。始终设置为 [http://schema.googleapis.com,{@language}:xx}] ,其中 xx 应位于语言代码中。这会设置实体中文本值所用的默认语言。 |
@type |
必需 | 文本 | 始终设置为 PodcastSeries 。 |
@id |
必需 | 文本 | 播客系列的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。用于 @id 值的网域必须归贵组织所有。 |
url |
必需 | 文本 | 您网站上介绍或说明播客系列的规范网址。此 ID 必须是全局唯一的。此链接有助于准确匹配 Feed 中的内容与 Google 数据库中的内容。如需播放,请使用文档的 ListenAction 部分中详述的 target.urlTemplate 。 |
name |
必需 | 文本 | 播客系列的名称。每种语言只能包含一个名称。 使用数组以多种语言标记说明。请参阅多个区域和语言示例。 |
description |
必需 | 文本 | 播客系列的摘要。 使用数组以多种语言标记说明。请参阅 多个区域和语言示例。 |
alternativeHeadline |
可选 | 文本 | 播客系列的字幕。 |
author |
必需 | 重复 |
开发或制作节目的个人或团体。通常是指主机。如需查看示例和详情,请参阅组织、个人(作者/发布商)。 |
publisher |
可选 | 重复 |
负责发布节目的原始影音平台或影音平台集团。通常是指负责发布/制作多个播客的组织。如需查看示例和详情,请参阅组织、个人(作者/发布商)。强烈建议为消除歧义提供此字段,并且在适用的情况下必须提供此字段。 |
actor |
可选 | 重复 |
播客的演讲者。如需查看示例和详情,请参阅操作者(主持人/访客)部分。 |
logo |
可选 | 重复 |
系列图书的徽标图片。以完整描述的 ImageObject 的形式提供此信息。提供分辨率最高的图片。最好是 JPEG 或 PNG 格式。如需了解详情和示例,请参阅 ImageObject(徽标)部分。 |
image |
必需 | 重复 |
系列图书的海报图片。将其作为完整说明的 ImageObject 提供。提供分辨率最高的图片。最好使用 JPEG 或 PNG。如需了解详情和示例,请参阅 ImageObject(徽标)部分。 |
isFamilyFriendly |
必需 | 布尔值 | 指明此内容是否适合全家观看(即内容是否适合家庭中的所有成员,包括儿童)。Google 产品可能会使用 isFamilyFriendly 来帮助确定要播放的内容。值必须为 true 或 false 。 |
inLanguage |
必需 | 文本 | 播客内容的语言,采用 ISO 639-1 格式。此值可用于执行请求特定语言内容的用户查询。 |
genre |
必需 | 文本 重复 |
播客系列的类别或类型。例如,您可以遵循标准的 播客类别。 |
endDate |
可选 | 日期 | 播客系列最后一集的发布日期。仅当系列图书已完结时,才应添加此字段。 |
rssFeed |
必需 | 网址 | 播客系列的 RSS Feed 网址。 |
potentialAction |
必需 | ListenAction |
用户收听内容时要触发的操作。如需了解详情,请参阅 ListenAction。 |
popularityScore
| 可选 | PopularityScoreSpecification |
一个受欢迎程度得分,可帮助确定存在多个候选广告时投放优先级。如需了解详情和示例,请参阅
PopularityScoreSpecification (popularityScore) 部分。 |
keywords |
可选 | 文本 重复 |
与播客系列相关联的关键字列表。这些关键字可能会用于扩展可触发此播客系列的用户查询。例如,嘉宾姓名、涵盖的主题等。 |
sameAs |
可选 | 网址 | 明确指明了商品身份的第三方(不在您网域内)参考网页的网址。当存在多个类似系列时,此网页用于进行区分。例如,维基百科网页或播客系列的首页。为了对系列图书进行区分,强烈建议填写此字段。 |
releasedEvent |
可选 | PublicationEvent ,或更具体的子类型 - FeaturedEvent 或 ExclusiveEvent |
用于标记播客系列发布或发行时间的事件。发布事件可能会记录发布商首次发布播客,而更专业的类型可用于表示发布内容的独家性或精选性。如需了解详情和示例,请参阅 PublicationEvent、FeaturedEvent、ExclusiveEvent (releasedEvent) 部分。请注意,将剧集标记为独家或精选内容,意味着该节目的所有剧集都是独家或精选内容。 |
countryOfOrigin |
可选 | 国家/地区 | 负责制作播客的制作公司或个人的主要办公室所在的国家/地区。 |
PodcastEpisode 规范
PodcastEpisode
是 PodcastSeries
中剧集的 schema.org 表示法。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@context |
必需 | 文本 | Schema.org 上下文。始终设置为 [http://schema.googleapis.com,{@language:xx}] ,其中 xx 是语言代码。这会设置 Feed 中文本值使用的默认字符语言。 |
@type |
必需 | 文本 | 始终设置为 PodcastEpisode 。 |
@id |
必需 | 文本 | 播客分集的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。用于 @id 值的网域必须归贵组织所有。 |
url |
必需 | 文本 | 您网站上介绍或说明播客分集的规范网址。此值必须是全局唯一的。此链接有助于准确匹配 Feed 中的内容与 Google 数据库中的内容。如需进行播放,请使用文档的 ListenAction 部分中详述的 target.urlTemplate 。 |
name
| 必需 | 文本 | 播客分集的名称。 每种语言只能有一个名称。使用数组为多种语言的说明添加标记。请参阅多个区域和语言示例。 |
description |
必需 | 文本 | 播客分集的说明。 |
alternativeHeadline |
必需 | 文本 | 播客分集的副标题。 |
author |
必需 | 重复 |
开发或提供分集的个人或群体。此值通常是指主机。如果作者与节目相同,您可以重复使用 PodcastSeries 实体中的信息。如需查看示例和详情,请参阅组织、个人(作者/出版商)。 |
publisher |
必需 | 重复 |
负责发布节目的原始影音平台或影音平台集团。通常是指负责发布或制作多个播客的组织。如需查看示例和详细信息,请参阅组织、个人(作者/发布商)。强烈建议您使用此字段进行歧义消除,并建议您在适用时进行定义。 |
actor |
必需 | 重复 |
播客的演讲者。如需查看示例和详情,请参阅操作者(主持人/访客)部分。 |
datePublished |
必需 | 日期时间 | 播客分集的发布日期时间。此值用于对剧集序列和歧义进行排序。 |
episodeNumber |
必需 | 整数 | 剧集编号。 |
partOfSeries |
必需 | PodcastSeries | 此播客分集所在的 PodcastSeries 。如需了解详情和示例,请参阅 PodcastSeries(partOfSeries)。 |
partOfSeason |
可选 | PodcastSeason | 对于多季连续剧,此属性会提供剧季信息以及剧季编号和剧季名称。如需了解详情和示例,请参阅 PodcastSeason(partOfSeason)。 |
timeRequired |
必需 | 时长 | 剧集的时长,采用 ISO 8601 时长格式。 |
image |
可选 | 重复 |
系列图书的海报图片。此值必须是完全描述的 ImageObject 。提供分辨率最高的图片。最好使用 JPEG 或 PNG 格式。如需了解详情和示例,请参阅 ImageObject(徽标)部分。 |
isFamilyFriendly |
必需 | 布尔值 | 指明此内容是否适合全家观看(即内容是否适合包括儿童在内的所有家庭成员观看)。Google 产品可能会使用 isFamilyFriendly 来确定要播放的内容。值必须为 true 或 false 。 |
inLanguage |
必需 | 文本 | 播客分集的内容语言,采用 ISO 639-1 格式。使用此值可满足请求特定语言内容的用户查询。如果内容是多种语言的,请仅列出一种主要语言。 |
genre |
必需 | 文本 重复 |
播客系列的类别或类型。例如,您可以遵循标准的播客类别。 |
associatedMedia |
可选 | AudioObject | 播客分集的音频文件。如需了解详情和示例,请参阅 AudioObject(associatedMedia)。 |
potentialAction |
必需 | ListenAction | 用户收听内容时要触发的操作。如需了解详情,请参阅 ListenAction 部分。 |
popularityScore |
可选 | PopularityScoreSpecification | 一个受欢迎程度得分,用于在存在多个候选广告时确定投放优先级。如需了解详情和示例,请参阅 PopularityScoreSpecification 部分。 |
keywords |
可选 | 文本 重复 |
与播客系列相关联的关键字列表。这些关键字可能会用于扩展可触发此播客分集的用户查询。例如 news 、sports 或 history 。 |
identifier |
必需 | PropertyValue 重复 |
对于 例如,请参阅 PropertyValue (identifier) 部分。 |
sameAs |
可选 | 网址 | 明确指明了商品身份的第三方(不在您网域内)参考网页的网址。当存在多个类似系列时,Google 会使用此网页进行区分。例如,维基百科网页或播客分集的首页。请注意,此处不得提供系列级参考页面。我们强烈建议使用此字段来对剧集进行区分。 |
releasedEvent |
可选 | PublicationEvent,或更具体的子类型 - FeaturedEvent 或 ExclusiveEvent | 用于标记播客分集发布或发行时间的事件。发布事件可能会记录发布商首次发布播客分集,而更具体的子类型可以表示发布内容是否独家或精选。如需了解详情和示例,请参阅 PublicationEvent、FeaturedEvent、ExclusiveEvent (releasedEvent) 部分。请注意,在上述位置将剧集标记为独家剧集或精选剧集,意味着该剧集的所有剧集都是独家剧集或精选剧集。我们建议您在最精细的级别标记此类媒体资源。 |
countryOfOrigin |
可选 | 国家/地区 | 负责播客的制作公司或个人的主要办公室所在的国家/地区。 |
PodcastSeries(partOfSeries)
使用 partOfSeries
在 PodcastEpisode
与其父级 PodcastSeries
之间建立关系。由于 PodcastSeries
的完整详情在单独的 PodcastSeries
实体中进行了说明,因此您无需在 partOfSeries
中提供完整详情。您只需提供以下属性:
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 PodcastSeries 。 |
@id |
必需 | 网址 | 系列图书的全局唯一 ID,采用 URI 格式。此 ID 必须与 Feed 中完整 PodcastSeries 实体的 ID 一致。 |
name |
必需 | 文本 | 播客系列的名称。
|
示例 1
"partOfSeries": {
"@type": "PodcastSeries",
"@id": "http://www.tjpodcast.org/series?id=1",
"name": "Radiolab"
},
PodcastSeason(partOfSeason)
PodcastSeason
表示 PodcastEpisode
的季节信息,其中最重要的是季号。只有当播客系列包含多个剧季时,您才需要此属性。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 PodcastSeason |
@id |
必需 | 网址 | 剧季的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。 |
seasonNumber |
必需 | 整数 | 播客系列的季号。 |
name |
可选 | 文本 | 播客季的名称。 |
示例 1
"partOfSeason": {
"@type": "PodcastSeason",
"@id": "http://www.tjpodcast.org/seriesx/season?id=1",
"seasonNumber": 1,
"name": "Radiolab Season 1"
},
组织、个人(作者或发布商)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Organization 或 Person 。 |
@id |
必需 | 网址 | 组织或个人的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。 |
name |
必需 | 文本 | 组织或个人的名称。 |
sameAs |
可选 | 网址 | 明确指明了商品身份的第三方(不在您网域内)参考网页的网址。当存在多个类似系列时,Google 会使用此网页进行区分。例如,组织的维基百科网页或组织的官方网站。 |
示例 1
"author": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/wnyc",
"sameAs": "https://en.wikipedia.org/wiki/WNYC",
"name": "WNYC"
},
示例 2
"author": {
"@type": "Person",
"@id": "https://www.tjpodcast.org/person/jad_abumrad",
"sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad",
"name": "Jad Abumrad"
},
演员(主持人或嘉宾)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Organization 或 Person 。 |
@id |
必需 | 网址 | 组织或个人的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。 |
name |
必需 | 文本 | 组织或个人的名称。 |
roleName |
必需 | 文本 | “Host”或“Guest”。 |
sameAs |
可选 | 网址 | 明确指明了商品身份的第三方(不在您网域内)参考网页的网址。当存在多个类似系列时,Google 会使用此网页进行区分。例如,组织的维基百科网页或组织的官方网站。 |
示例 1
"actor":[{
"@type": "PerformanceRole",
"actor": {
"@type": "Person",
"@id": "https://www.tjpodcast.org/person/Roman",
"name": {
"@language":"en",
"@value": "Roman Mars"
},
"roleName": "Host"
"sameAs": "https://en.wikipedia.org/wiki/Roman",
},
"actor": {
"@type": "Person",
"@id": "https://www.tjpodcast.org/person/guest",
"name":{
"@language":"en",
"@value": "Kurt Kohlstedt"
},
"roleName": "Guest"
},
}]
ImageObject(徽标或图片)
ImageObject
用于提供内容的徽标或海报图片。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 ImageObject 。 |
height |
可选 | 整数 | 图片的高度(以像素为单位)。 |
width |
可选 | 整数 | 此图片的宽度,以像素为单位。 |
contentUrl |
必需 | 网址 | 图片所在的网址。 |
regionsAllowed |
可选 | 国家/地区 重复 |
允许显示相应媒体内容的国家/地区:
|
国家/地区 (image.regionsAllowed)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Country. |
name |
必需 | 文本 |
ISO 3166-1 alpha-2 国家/地区代码。例如 GB 、US 。 |
示例 1
"logo": {
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.foo.com/img/67890.jpg",
},
示例 2
"logo": [
{
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.foo.com/img/67890.jpg",
"regionsAllowed": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "GB"
}
]
},
{
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.foo.com/img/12345.jpg",
"regionsAllowed": [
{
"@type": "Country",
"name": "IN"
},
{
"@type": "Country",
"name": "PK"
}
]
},
],
PropertyValue (identifier)
如果您的内容有 GUID,您可以使用 identifier
字段提供这些 ID,以提高 Google 对您内容的对账准确性。请注意,PodcastEpisode
需要 GUID。此 ID 必须不同于剧集的 @id
字段(不在您的网域内),并且必须在全球范围内代表来源剧集,并且在不同来源中具有唯一性。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 `PropertyValue`。 |
propertyID |
必需 | 文本 | 始终设置为 GUID 。 |
value |
必需 | 文本 | 连续剧或剧集的 GUID。 |
示例 1
"identifier": {
"@type": "PropertyValue",
"propertyID": "GUID",
"value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},
PopularityScoreSpecification (popularityScore)
在用户查询的条件与 Feed 中的多个实体匹配的情况下,popularityScore
可以帮助用户获取最合适的内容。当此值可用时,系统会向用户提供适用于其所在地区且热门程度得分最高的内容。所有未填充此字段的内容的热门程度得分默认为 0
。评分比较是在您的整个目录范围内进行的,因此请确保所有 Feed 的评分标准一致。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 PopularityScoreSpecification 。 |
value |
必需 | 数字 | 一个正数值,用于与目录中的其他实体进行比较,以确定投放优先级。数字越大,热门程度越高。 |
eligibleRegion |
可选 | 国家/地区或文字 重复 |
此热门程度得分适用的单个区域或区域列表。 如果热门程度得分适用于全球,请使用 如果需要列出特定地区,请使用“国家/地区”类型。 如果您不填写此字段, |
国家/地区 (popularityScore.eligibleRegion)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Country 。 |
name |
必需 | 文本 |
ISO 3166-1 alpha-2 国家/地区代码。例如 GB 、US 。 |
示例 1
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 4.3,
"eligibleRegion": "Earth"
},
示例 2
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 2,
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
},
示例 3
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 101,
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "GB"
}
]
},
PublicationEvent、FeaturedEvent、ExclusiveEvent (releasedEvent)
- PublicationEvent
- 使用此对象表示节目或剧集的发布日期和发布地点(也称为剧集或剧集的“发布日期”)。此外,
publishedBy
字段表示播客系列或分集的发布或分发实体。 - ExclusiveEvent
- 使用此对象表示提供商拥有播客的独家分发权。独家性可以是特定于地区和受时间限制的,并且必须包含指向内容独家提供商的组织字段。
- FeaturedEvent
- 使用此对象表示提供商向消费者推介播客(例如,作为“原创”内容)。
- “原创”与“独家”不同
- “原创(精选)”一词通常表示对给定实体的专有权利,这会导致该术语过载。因此,预期含义必须分为上述两类。原始实体也可能具有排他性,在这种情况下,
releasedEvent
可以接受包含同一实体上的两种事件类型的数组。
请注意,虽然在提供商目录中,独家或精选可能具有类似的含义,但 PublicationEvent
更常用于对实体进行区分,并提供有关同一实体的其他元数据,例如连续剧或剧集的发布日期。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 PublicationEvent 、ExclusiveEvent 或 FeaturedEvent 之一。 |
location |
必需 | 国家/地区 | 发布事件发生的区域。您还可以使用此属性来表示实体的独家限制和分发限制。请使用国家/地区的 ISO 3166 代码。如果您需要应用全局语义,请将其设置为 EARTH 。明确将 location 设置为 EARTH ,以防不适用特定语言区域的限制。 |
startDate |
推荐 (对于 ExclusiveEvent 是必需的) | Date 或 DateTime | 实体发布的开始日期。对于 PublicationEvent ,此字段表示此实体的初始发布日期。对于 ExclusiveEvent 或 FeaturedEvent ,此属性表示实体独家或精选状态的开始日期。 |
endDate |
推荐 (对于 ExclusiveEvent 是必需的) | Date 或 DateTime | 实体出版的结束日期。对于 PublicationEvent ,此字段表示此实体的最终发布日期。对于 ExclusiveEvent 或 FeaturedEvent ,此属性表示实体的独家或精选状态的结束日期。 |
publishedBy |
必需 | 组织或个人 | 发布此实体并应用于此发布事件的 Organization 或 Person 实体。请使用组织(作者/发布商)部分中所述的架构。 |
示例 1
"releasedEvent": [ {
"@type": "PublicationEvent",
"location": "EARTH",
"startDate": "2016-04-21T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/wnyc",
"sameAs": "https://en.wikipedia.org/wiki/WNYC",
"name": "WNYC"
},
}, {
"@type": "FeaturedEvent",
"location": "US",
"startDate": "2020-04-18T20:00",
"endDate": "2020-04-21T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast",
},
},
]
示例 2
"releasedEvent": [ {
"@type": "FeaturedEvent",
"location": "US",
"startDate": "2020-04-18T20:00",
"endDate": "2020-05-21T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast",
},
}, {
"@type": "ExclusiveEvent",
"location": "US",
"startDate": "2020-04-18T20:00",
"endDate": "2020-04-24T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast",
},
}, {
"@type": "ExclusiveEvent",
"location": "CA",
"startDate": "2020-04-21T20:00",
"endDate": "2020-04-24T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast",
},
}
]
AudioObject(associatedMedia)
AudioObject
用于为播客分集提供原始媒体文件。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 AudioObject 。 |
contentUrl |
必需 | 网址 | 媒体文件的网址。 |
contentSize |
必需 | 整数 | 媒体文件的大小(以字节为单位)。 |
encodingFormat |
必需 | 文本 | 媒体文件的 IANA 媒体类型。例如:audio/mpeg 。 |
duration |
必需 | 时长 | 媒体时长,采用 ISO 8601 时长格式。 |
transcript |
可选 | 文本 | 剧集的转写内容。 |
bitrate |
可选 | 文本 | 媒体文件的比特率。 |
name |
可选 | 文本 | 媒体文件的文件名。 |
示例 1
"associatedMedia": {
"@type": "AudioObject",
"contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
"duration": "PT5M32S",
"contentSize": "53616000",
"encodingFormat": "audio/mpeg",
"name": "radiolab_podcast19.mp3",
"transcript": "Transcript of the episode",
"bitrate": "64Kbps"
},
ListenAction (potentialAction)
ListenAction
实体用于定义用于播放的深层链接,以及用户访问内容的条件(例如地理位置、时间、登录或订阅状态)。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 ListenAction 。 |
target |
必需 |
重复 |
深层链接的规范,其中包括受支持平台的信息。您可以使用多个 EntryPoint 字段为不同的平台集合定义不同的深层链接。 |
actionAccessibilityRequirement |
必需 |
重复 |
对用户访问此实体应满足的要求所做的定义。如果存在多个 ActionAccessSpecification ,则符合任何一项规范条件的用户都可以访问相应内容。 |
入口点 (potentialAction.target)
@type
必填
文本
始终设置为 EntryPoint
。
urlTemplate
必填
网址
用于启动内容播放的链接。
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/GoogleAudioCast"
"http://schema.googleapis.com/GoogleVideoCast"
ActionAccessSpecification(potentialAction.actionAccessibilityRequirement)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 ActionAccessSpecification 。 |
category |
必需 | 文本 |
访问权限要求的类型。此值必须为以下值之一:
|
availabilityStarts |
可选 | 日期时间 | 可用时段的开始时间。您可以使用此属性来控制此内容可以开始向用户展示的确切时间。 |
availabilityEnds |
可选 | 日期时间 | 可用时段的结束时间。您可以使用此属性来控制此内容停止向用户展示的确切时间。 |
eligibleRegion |
必需 | 国家/地区 重复 |
此优惠的适用国家/地区。您可以使用此属性来控制此内容必须在哪些国家/地区提供。 |
requiresSubscription |
必填(如果适用) | MediaSubscription | 访问此内容所需的订阅套餐。如果您的服务提供多个订阅套餐,则此字段为必填字段。 如果您的服务是免费的,或者只有一个订阅层级,您可以跳过此字段。 |
国家/地区 (potentialAction.actionAccessibilityRequirement.eligibleRegion)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Country 。 |
name |
必需 | 文本 | ISO 3166-1 alpha 2 国家/地区代码。 |
MediaSubscription(potentialAction.actionAccessibilityRequirement.requiresSubscription)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 MediaSubscription 。 |
@id |
必需 | 网址 | 订阅文件包的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。 |
name |
必需 | 文本 | 订阅软件包的名称。例如 Premium 、Basic 。 |
expectsAcceptanceOf |
建议 | 优惠 | 与媒体订阅购买交易相关联的优惠。您可以使用此属性来表示订阅的价格。 |
优惠 (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文本 | 始终设置为 Offer 。 |
price |
必需 | 数字 | 订阅的价格。 |
priceCurrency |
必需 | 文本 | 价格所用的币种(采用由 3 个字母表示的 ISO 4217 格式)。 |
seller |
建议 | 组织 | 提供相应操作的订阅或购买服务的组织。使用组织(作者/发布商)部分中所述的架构。 |
示例 1
"potentialAction": {
"@type": "ListenAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
"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/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "nologinrequired",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
}
},
示例 2
"potentialAction": {
"@type": "ListenAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.org/IOSPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "https://www.tjpodcast.org/castlink?streamStationId=170",
"actionPlatform": [
"http://schema.googleapis.com/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
}
],
"actionAccessibilityRequirement": [
{
"@type": "ActionAccessSpecification",
"category": "nologinrequired",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": [
{
"@type": "Country",
"name": "IN"
},
{
"@type": "Country",
"name": "GB"
}
]
},
{
"@type": "ActionAccessSpecification",
"category": "Subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/packages/basic-pack",
"name": "Basic Pack",
"expectsAcceptanceOf": {
"@type": "Offer",
"price": 8.99,
"priceCurrency": "USD"
}
},
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
}
]
},
附录
完整示例
{
"@context": "http://schema.org",
"@type": "DataFeed",
"dateModified": "2018-09-10T13:58:26.892Z",
"dataFeedElement": [
{
"@context": [
"http://schema.googleapis.com",
{
"@language": "en"
}
],
"@type": "PodcastSeries",
"@id": "http://www.tjpodcast.org/series?id=2",
"url": "http://www.tjpodcast.org/series?id=2",
"name": "Radiolab",
"description": "A two-time Peabody Award-winner...",
"alternativeHeadline": "Radiolab - Powered by WNYC",
"sameAs": "https://en.wikipedia.org/wiki/Radiolab",
"image": {
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.tjpodcast.org/img/2.jpg"
},
"logo": {
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.tjpodcast.org/logo/2/1.jpg"
},
"keywords": [
"Science",
"Technology",
"Philosophy",
"Education"
],
"author": [
{
"@type": "Person",
"@id": "https://www.tjpodcast.org/author/jad_abumrad",
"name": "Jad Abumrad",
"sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
},
{
"@type": "Person",
"@id": "https://www.tjpodcast.org/author/robert_krulwich",
"name": "Robert Krulwich",
"sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
}
],
"publisher": {
"@type": "Organization",
"name": "WNYC",
"@id": "https://www.tjpodcast.org/network/wnyc_studios",
"sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
},
"isFamilyFriendly": "True",
"inLanguage": "en",
"genre": [
"Science & Medicine",
"Natural Sciences"
],
"endDate": "2017-12-22T08:59:00",
"rssFeed": "http://feeds.wnyc.org/radiolab",
"potentialAction": {
"@type": "ListenAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.tjpodcast.org/?streamSeriesId=2",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.googleapis.com/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "nologinrequired",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2019-12-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "FR"
}
}
},
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 4.2
}
},
{
"@context": [
"http://schema.googleapis.com",
{
"@language": "en"
}
],
"@type": "PodcastEpisode",
"@id": "http://www.tjpodcast.org/episode?id=1",
"url": "http://www.tjpodcast.org/episode?id=1",
"name": "A Clockwork Miracle",
"description": "As legend goes, in 1562, King Philip II...",
"sameAs": "https://www.wnycstudios.org/story/radiolab-clockwork-miracle",
"image": {
"@type": "ImageObject",
"height": "100",
"width": "800",
"contentUrl": "http://www.tjpodcast.org/img/2/1.jpg"
},
"keywords": [
"Education",
"Philosophy",
"Science",
],
"partOfSeries": {
"@type": "PodcastSeries",
"@id": "http://www.tjpodcast.org/series?id=2",
"name": "Radiolab",
"sameAs": "https://en.wikipedia.org/wiki/Radiolab",
},
"episodeNumber": 101,
"inLanguage": "en",
"author": [
{
"@type": "Person",
"@id": "https://www.tjpodcast.org/author/jad_abumrad",
"name": "Jad Abumrad",
"sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
},
{
"@type": "Person",
"@id": "https://www.tjpodcast.org/author/robert_krulwich",
"name": "Robert Krulwich",
"sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
}
],
"publisher": {
"@type": "Organization",
"name": "WNYC",
"@id": "https://www.tjpodcast.org/network/wnyc_studios",
"sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
},
"isFamilyFriendly": "True",
"genre": [
"Science",
"Philosophy",
"Fiction"
],
"datePublished": "2018-12-27T23:23:00Z",
"timeRequired": "PT22M",
"associatedMedia": {
"@type": "AudioObject",
"contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
"duration": "PT21M45S",
"contentSize": "53616000",
"encodingFormat": "audio/mpeg",
"transcript": "Transcript of the episode",
"bitrate": "64Kbps"
},
"potentialAction": {
"@type": "ListenAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.tjpodcast.org/?streamEpisodeId=1",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.googleapis.com/GoogleAudioCast",
"http://schema.googleapis.com/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "nologinrequired",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2019-12-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "FR"
}
}
},
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 3.8
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "GUID",
"value": "53ff386e-e768-40b5-8854-1b7415826ded"
}
]
}
],
"actor": [
{
"@type": "PerformanceRole",
"actor": {
"@type": "Person",
"@id": "https://www.tjpodcast.org/person/Roman",
"name": {
"@language": "en",
"@value": "Roman Mars"
},
"roleName": "Host",
"sameAs": "https://en.wikipedia.org/wiki/Roman"
},
"actor": {
"@type": "Person",
"@id": "https://www.tjpodcast.org/person/guest",
"name": {
"@language": "en",
"@value": "Kurt Kohlstedt"
},
"roleName": "Guest"
}
}
],
"releasedEvent": [
{
"@type": "FeaturedEvent",
"location": "US",
"startDate": "2020-04-18T20:00",
"endDate": "2020-05-21T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast"
}
},
{
"@type": "ExclusiveEvent",
"location": "US",
"startDate": "2020-04-18T20:00",
"endDate": "2020-04-24T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast"
}
},
{
"@type": "ExclusiveEvent",
"location": "CA",
"startDate": "2020-04-21T20:00",
"endDate": "2020-04-24T20:00",
"publishedBy": {
"@type": "Organization",
"@id": "https://www.tjpodcast.org/organization/tjpodcast",
"sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
"name": "TJPodcast"
}
}
]
}