本部分详细介绍了播客的内容标记属性。
PodcastSeries 规范
PodcastSeries
是播客系列的表示法,也称为“节目”。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@context |
必需 | 文字 | schema.org 上下文。应始终设置为 [http://schema.googleapis.com,{@language}:xx}] ,其中 xx 应采用语言代码。这样可设置实体中文本值使用的默认语言。 |
@type |
必需 | 文字 | 始终设置为 PodcastSeries 。 |
@id |
必需 | 文字 | 播客系列的全局唯一 ID,采用 URI 格式。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。用于 @id 值的网域必须归您的组织所有。 |
url |
必需 | 文字 | 您网站上介绍或说明播客系列的规范网址。该名称必须是全局唯一的。此链接可帮助您准确协调 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 |
要触发用户收听内容的 Action。如需了解详情,请参阅 ListenAction。 |
popularityScore
| 可选 | PopularityScoreSpecification |
热门程度得分,用于确定存在多个候选字词时服务优先级。如需了解详情和查看示例,请参阅 PopularityScoreSpecification (popularityScore) 部分。 |
keywords |
可选 | 文字 重复 |
与该播客系列相关联的关键字列表。这些关键字可用于扩展可触发此播客系列的用户查询。例如,邀请对象姓名、涵盖的主题等。 |
sameAs |
可选 | 网址 | 第三方(不在您的网域中)参考网页的网址,其中明确指出了商品的身份。如果存在多个类似的系列,此页面将用于消除歧义。例如,维基百科网页或播客系列的首页。强烈建议使用此字段来消除系列中的歧义。 |
releasedEvent |
可选 | PublicationEvent 或更具体的子类型 - FeatureEvent 或 ExclusiveEvent |
标记播客系列的发布或发行的活动。发布活动可能会注明发布商首次发布某个播客,而更专门的类型可用于表明该版本的独家性或特色。有关详情和示例,请参阅 PublicationEvent, FeatureEvent, 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(partOfSeries)。 |
partOfSeason |
可选 | 播客季 | 对于多季连续剧,此属性提供剧季信息以及剧季编号和剧季名称。如需了解详情和查看示例,请参阅 PodcastSeason(partOfSeason)。 |
timeRequired |
必需 | 时长 | 分集的时长,采用 ISO 8601 时长格式。 |
image |
可选 | 重复 |
此系列的封面图片。这必须是完全描述的 ImageObject 。尽可能提供最高的分辨率。首选 JPEG 或 PNG 文件。如需了解详细信息和示例,请参阅 ImageObject(徽标)部分。 |
isFamilyFriendly |
必需 | 布尔值 | 指明此内容是否适合全家观看(也就是说,此内容是否适合所有家庭成员,包括儿童)。Google 产品可能会使用 isFamilyFriendly 来确定要播放的内容。值必须为 true 或 false 。 |
inLanguage |
必需 | 文字 | ISO 639-1 格式的播客分集内容语言。此值可用于执行以特定语言请求内容的用户查询。如果内容以多种语言显示,请仅列出一种主要语言。 |
genre |
必需 | 文字 重复 |
播客系列的类别或类型。例如,您可以关注标准播客类别。 |
associatedMedia |
可选 | AudioObject | 播客分集的音频文件。如需了解详情和示例,请参阅 AudioObject(relatedMedia)。 |
potentialAction |
必需 | ListenAction | 要触发用户收听内容的 Action。如需了解详情,请参阅 ListenAction 部分。 |
popularityScore |
可选 | PopularityScoreSpecification | 有多个候选版本时,用于确定投放优先级的热门程度得分。有关详情和示例,请参阅 PopularityScoreSpecification 部分。 |
keywords |
可选 | 文字 重复 |
与播客系列相关联的关键字列表。这些关键字可用于扩展可触发此播客分集的用户查询。例如 news 、sports 或 history 。 |
identifier |
必需 | PropertyValue 重复 |
对于 有关示例,请参阅 PropertyValue (identifier) 部分。 |
sameAs |
可选 | 网址 | 第三方(不在您的网域中)参考网页的网址,其中明确指出了商品的身份。当存在多个类似系列时,Google 会使用该网页来消除歧义。例如,维基百科网页或播客分集的首页。请注意,此处不得提供系列级别的参考页面。我们强烈建议使用此字段来消除剧集的歧义。 |
releasedEvent |
可选 | PublicationEvent 或更具体的子类型 - SpecialEvent 或 ExclusiveEvent | 标记播客分集发布或发布的事件。发布事件可能会注明发行方对播客分集的初始版本,更具体的子类型可以表示版本的独家性或特征。如需了解详情和示例,请参阅 PublicationEvent, HighlightEvent, ExclusiveEvent (releasedEvent) 部分。请注意,在上方将系列标记为独家或精选意味着该节目的所有剧集都是独家或精选剧集。我们建议您在最精细的级别标记此类属性。 |
countryOfOrigin |
可选 | 国家/地区 | 制作公司的主要办公室或负责播客的人员所在的国家/地区。 |
PodcastSeries (partOfSeries)
使用 partOfSeries
在 PodcastEpisode
与其父级 PodcastSeries
之间建立关系。由于 PodcastSeries
的完整详细信息在单独的 PodcastSeries
实体中描述,因此您无需在 partOfSeries
中提供完整详细信息。您只需提供以下属性:
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为 PodcastSeries 。 |
@id |
必需 | 网址 | URI 格式的系列的全局唯一 ID。该 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 |
必需 | 网址 | URI 格式的剧季的全局唯一 ID。该 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,可以向这些 ID 提供 identifier
字段,以提高 Google 对内容的对帐的准确性。请注意,PodcastEpisode
需要 GUID。此字段必须与分集的 @id
字段(而非您的网域内)不同,并且必须在全球范围内代表某个来源的分集,而且随着时间的推移,该分集在各个来源中必须是唯一的。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为“PropertyValue”。 |
propertyID |
必需 | 文字 | 始终设置为 GUID 。 |
value |
必需 | 文字 | 系列或分集的 GUID。 |
示例 1
"identifier": {
"@type": "PropertyValue",
"propertyID": "GUID",
"value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},
流行度得分规范 (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、HighlightEvent、ExclusiveEvent (releasedEvent)
- 发布活动
- 此对象可表示节目或分集的发布日期和发布地点(也称为系列或分集的“发布日期”)。
此外,
publishedBy
字段表示播客系列或分集的发布或分发实体。 - 独占事件
- 使用此对象表示提供方对播客拥有独家发行权。独占性可以特定于区域并具有时限性,并且必须包含指向内容的专属提供商的组织字段。
- 精选活动
- 使用此对象表示提供方向消费者推介播客(例如,作为“原创内容”)。
- 原创内容不同于独家内容
- “原创内容(精选)”一词通常是指特定实体的专有权利,这会过度使用该字词。因此,预期含义必须分为上述两类。原始实体也可能具有独占性,在这种情况下,
releasedEvent
可以接受包含同一实体上这两种事件类型的数组。
请注意,虽然独家性或特征在提供商的目录中可能具有类似的含义,但 PublicationEvent
通常更适用于实现实体消除歧义,并提供更多关于相同主题的元数据,例如系列或剧集的发布日期。
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为 PublicationEvent 、ExclusiveEvent 或 FeaturedEvent 之一。 |
location |
必需 | 国家/地区 | 发布事件的区域。您还可以使用它来表示实体的独占限制和分发限制。请使用相应国家/地区的 ISO 3166 代码。如果您需要应用全局语义,请设置为 EARTH 。将 location 明确设置为 EARTH ,以防因语言区域而异的限制不适用。 |
startDate |
建议(仅适用于 ExclusiveEvent) | 日期或日期时间 | 实体发布日期。对于 PublicationEvent ,这表示此实体的初始发布日期。对于 ExclusiveEvent 或 FeaturedEvent ,这表示实体的唯一性或特征的开始日期。 |
endDate |
建议(仅适用于 ExclusiveEvent) | 日期或日期时间 | 实体出版的结束日期。对于 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 (relatedMedia)
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 |
必需(如果适用) | 媒体订阅 | 访问此内容所需的订阅包。如果您的服务提供了多个订阅包,则必须填写此字段。 如果您的服务是免费的,或只有一个订阅层级,您可以跳过此字段。 |
国家/地区 (potentialAction.actionAccessibilityRequirement.eligibleRegion)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为 Country 。 |
name |
必需 | 文字 | ISO 3166-1 alpha 2 国家/地区代码。 |
MediaSubscription (potentialAction.actionAccessibilityRequirement.RequiresSubscription)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为 MediaSubscription 。 |
@id |
必需 | 网址 | URI 格式的订阅包的全局唯一 ID。该 ID 必须保持稳定,不应随着时间的推移而发生变化。它被视为不透明字符串,且不必是有效链接。 |
name |
必需 | 文字 | 订阅套餐的名称。例如 Premium 、Basic 。 |
expectsAcceptanceOf |
建议 | 优惠 | 与购买媒体订阅相关的优惠。您可以使用此值来表示订阅的价格。 |
优惠 (potentialAction.actionAccessibilityRequirement.RequiresSubscription.expectsAcceptanceOf)
属性 | 优先级 | 类型 | 说明 |
---|---|---|---|
@type |
必需 | 文字 | 始终设置为 Offer 。 |
price |
必需 | 数字 | 订阅的价格。 |
priceCurrency |
必需 | 文字 | 价格所用的币种(采用由三个字母表示的 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"
}
}
]
}