播客 Schema.org 规范

本部分详细介绍了播客的内容标记属性。

播客系列规范

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 必需

个人或组织

重复

创作或提供节目的个人或团体。通常是指主机。如需查看示例和详细信息,请参阅 Organization, Person (author/publisher)
publisher 可选

个人或组织

重复

负责发布节目的原始群组或网络。经常 是指负责发布/制作多个播客的组织。 有关示例和详细信息,请参阅组织 人员(作者/出版商)。强烈建议针对以下情形使用此字段: 消除歧义,并且必须在适用的情况下提供。
actor 可选

个人或组织

重复

播客的执行者。有关示例和详细信息,请参阅执行者(主机/访客)部分。
logo 可选

ImageObject

重复

系列的徽标图片。请详细描述这一情况 ImageObject。提供尽可能高的分辨率。JPEG 或 PNG 。有关详情和示例,请参阅 ImageObject(徽标)部分。
image 必需

ImageObject

重复

系列的艺术作品图片。提供完整的说明 ImageObject。提供尽可能高的分辨率。JPEG 或 PNG 。如需了解详情,请参阅 ImageObject(徽标)部分 示例。
isFamilyFriendly 必需 布尔值 指明此内容是否全家适宜(也就是说, 适合所有家庭成员(包括儿童)。Google 产品 可以使用 isFamilyFriendly 来帮助确定要播放的内容。通过 值必须为 truefalse
inLanguage 必需 文本 播客内容的语言,采用 ISO 639-1 格式。此值可用于满足 用于请求特定语言内容的查询。
genre 必需

文本

重复

播客系列的类别或类型。例如,您可以 标准 播客类别
endDate 可选 日期 播客系列的最后一集的发布日期。仅限 请在系列图书完成时添加此字段。
rssFeed 必需 网址 播客系列的 RSS Feed 网址。
potentialAction 必需 ListenAction 用户收听内容时触发的操作。如需了解详情,请参阅 请参阅 ListenAction
popularityScore 可选 PopularityScoreSpecification 热门程度得分,有助于确定存在以下情况时的投放优先级: 多个候选字词。请参阅 PopularityScoreSpecification (popularityScore)部分的 详细信息和示例。
keywords 可选

文本

重复

将与播客系列相关联的关键字列表。这些 关键字可能会用于扩展可触发此播客的用户查询 系列视频例如,邀请对象的姓名、涵盖的主题等。
sameAs 可选 网址 第三方(不在您的网域内)的网址,参考了 明确指明商品的身份。此网页的用途 消除歧义。例如,维基百科 页面或播客系列的首页强烈建议使用此字段 来消除系列的歧义
releasedEvent 可选 PublicationEvent,或更具体的子类型 - FeaturedEventPersonalizedEvent 标记播客系列的发布或发行的事件。答 发布事件可能会注明发布商首次发布播客 可以使用更具体的类型来表示独家性或特色 。有关详情和示例,请参阅 PublicationEvent、 精选活动、专享活动 (releasedEvent) 部分。请注意,将 独家或精选系列视频暗示节目的所有剧集 专有或精选。
countryOfOrigin 可选 国家/地区 制作公司或以下机构的主要办事处所在的国家/地区: 该播客的负责人

播客剧集规范

PodcastEpisode 是分集的 schema.org 表示法 在 PodcastSeries 中。

属性 优先级 类型 说明
@context 必需 文本 Schema.org 上下文。始终设置为 [http://schema.googleapis.com,{@language:xx}] 其中 xx 是语言代码。这会设置默认字符 Feed 中文本值使用的语言。
@type 必需 文本 始终设置为 PodcastEpisode
@id 必需 文本 播客分集的全局唯一 ID,采用 URI 格式。ID 必须为 不会随时间变化它被视为不透明字符串, 必须是有效链接用于 @id 值的网域必须归贵组织所有。
url 必需 文本 您网站上介绍或说明 播客分集。此值必须是全局唯一的。此链接用于帮助 确保 Feed 中的内容与 Google 的 数据库。对于播放,target.urlTemplate 使用了文档的 ListenAction 部分。
name 必需 文本

播客分集的名称。

每种语言只能有一个名称。使用数组标记 以多种语言显示说明请参阅多区域 语言示例

description 必需 文本 播客分集的说明。
alternativeHeadline 必需 文本 播客分集的副标题。
author 必需

个人或组织

重复

制作或提供剧集的个人或团体。此值经常 指的是主机。如果作者与节目相同,您可以重复使用 来自 PodcastSeries 实体的信息。如需查看示例和 请参阅 Organization, Person (author/publisher)
publisher 必需

个人或组织

重复

负责发布节目的原始群组或网络。经常 是指负责发布或制作多个 播客。请参阅组织、个人(作者/出版商) 示例和详细信息。强烈建议使用此字段,以消除歧义, 我们建议您视情况对其进行定义。
actor 必需

个人或组织

重复

播客的执行者。如需查看示例和详细信息,请参阅 执行者(主机/访客)部分。
datePublished 必需 日期时间 播客分集的发布日期。该值用于 对剧集序列进行排序和消除歧义。
episodeNumber 必需 整数 剧集编号。
partOfSeries 必需 PodcastSeries 此播客分集所在的PodcastSeries。请参阅 PodcastSeries(partOfSeries) 了解详情和示例。
partOfSeason 可选 PodcastSeason 对于多季电视剧,此属性会提供剧季信息 包含剧季编号和剧季名称请参阅 PodcastSeason(partOfSeason) 了解详情和示例。
timeRequired 必需 时长 剧集的时长,采用 ISO 8601 时长格式。
image 可选

ImageObject

重复

系列的艺术作品图片。此处必须详尽地描述 ImageObject。提供尽可能高的分辨率。JPEG 或 PNG 。如需了解更多详情,请参阅 ImageObject(徽标)部分 详细信息和示例。
isFamilyFriendly 必需 布尔值 指明此内容是否全家皆宜(即 内容适合所有家庭成员(包括儿童)观看。Google 产品可能会使用 isFamilyFriendly 来确定要播放的内容。 该值必须为 truefalse
inLanguage 必需 文本 播客分集的内容语言,采用 ISO 639-1 格式。使用此 值来满足请求特定语言内容的用户查询。如果 内容有多种语言版本,请仅列出一种主要语言。
genre 必需

文本

重复

播客系列的类别或类型。例如,您可以遵循标准的播客类别
associatedMedia 可选 AudioObject 播客分集的音频文件。有关详情和示例,请参阅 AudioObject(associatedMedia)
potentialAction 必需 ListenAction 用户收听内容时触发的操作。如需了解详情,请参阅 请参阅 ListenAction 部分。
popularityScore 可选 PopularityScoreSpecification 有多个广告支持套餐时,它根据热门程度得分来确定投放优先级 候选人。有关详情和示例,请参阅 GeneralityScoreSpecification 部分提供。
keywords 可选

文本

重复

与播客系列相关联的关键字列表。这些关键字 用于扩展可触发此播客分集的用户查询。对于 例如 newssportshistory
identifier 必需

PropertyValue

重复

对于 PodcastEpisode,请使用此属性提供 GUID。通过 GUID 必须是能够在全局范围内唯一标识播客的 ID 剧集。它与剧集中的 @id 字段不同。

如需了解更多详情,请参阅 PropertyValue (identifier) 部分 示例。

sameAs 可选 网址 第三方(不在您的网域内)的网址,参考了 明确指明商品的身份。Google 会将此网页用于 消除歧义。例如,维基百科 页面或播客分集的首页请注意,系列图书级别的参考 请勿在此处提供页面。对于以下情况,我们强烈建议您填写此字段: 来消除这些剧集的歧义
releasedEvent 可选 PublicationEvent 或更具体的子类型 - FeaturedEventPrivilegeEvent 标记播客分集的发布或发行的事件。答 发布活动可能会注明某个播客分集在 发布商和更具体的子类型可表示独家性或精选性 。有关详情和示例,请参阅 PublicationEvent、FeaturedEvent、privilegedEvent (releasedEvent) 部分。 请注意,在上方将某个系列标记为“独家”或“精选”意味着: 节目的某些剧集是独家或精选的。我们建议您将此类代码 最详细的属性
countryOfOrigin 可选 国家/地区 制作公司或个人的主要办事处所在的国家/地区 是该播客的负责人

播客系列 (partOfSeries)

使用 partOfSeriesPodcastEpisode 之间建立关系 及其父级 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"
},

播客季 (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 必需 文本 始终设置为 OrganizationPerson
@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 必需 文本 始终设置为 OrganizationPerson
@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 可选

国家/地区

重复

允许发布媒体内容的国家/地区:

  • 如果未指定,则假定该图片在所有环境中可用 语言区域。
  • 如需按地区提交不同的图片,请添加多张 ImageObject 属性,每种属性都有自己的一组国家/地区和一个 相应的图片网址

国家/地区 (image.regionsAllowed)

属性 优先级 类型 说明
@type 必需 文本 始终设置为 Country.
name 必需 文本 ISO 3166-1 alpha-2 国家/地区代码。例如,GBUS

示例 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 字段,以提高 Google 对您的 内容。请注意,PodcastEpisode 需要 GUID。 此字段必须不同于分集的 @id 字段(不是 并且必须在全球范围内代表源剧集,并且 随时间的推移而具有唯一性。

属性 优先级 类型 说明
@type 必需 文本 始终设置为“PropertyValue”。
propertyID 必需 文本 始终设置为 GUID
value 必需 文本 连续剧或剧集的 GUID。

示例 1

"identifier": {
  "@type": "PropertyValue",
  "propertyID": "GUID",
  "value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},

GeneralityScoreSpecification (popularityScore)

popularityScore可以帮助用户找到最合适的 在用户查询中的条件与多个 实体。热门程度得分最高的内容 该值会提供给用户, 可用。没有此字段的所有内容默认采用热门程度得分 0。通过 分数比较会在您的完整目录内进行,因此请 确保该比例在您的所有 Feed 中保持一致。

属性 优先级 类型 说明
@type 必需 文本 始终设置为 PopularityScoreSpecification
value 必需 数字 一个正数,用于与您目录中的其他实体进行比较 投放优先级数字越大,表示受欢迎程度越高。
eligibleRegion 可选

国家/地区或文字

重复

此热门程度得分适用的一个地区或地区列表。

如果热门程度得分在全球范围内适用,请使用 earth 作为文本 值。

如果需要列出特定地区,请使用 `Country` 类型。

如果您不填写此字段,eligibleRegion 会默认设为 earth

国家/地区 (popularityScore.eligibleRegion)

属性 优先级 类型 说明
@type 必需 文本 始终设置为 Country
name 必需 文本 ISO 3166-1 alpha-2 国家/地区代码。例如,GBUS

示例 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、PrivilegeEvent (releasedEvent)

PublicationEvent
使用此对象表示节目的发布日期和地点,或 剧集(也称为连续剧或剧集的“发布日期”)。 此外,publishedBy 字段还表示应用的发布或分发。 播客系列或分集的实体。
ExclusiveEvent
使用此对象可指明提供方拥有专有发行权 找到该播客独家性取决于具体的区域和时限, 添加组织字段,该字段指向 内容。
FeaturedEvent
使用此对象表示提供方将此播客推介给了 (例如“原始版本”)。
原创内容不同于专享
“原创内容(精选视频)”一词通常表示 实体,这会使字词重载。因此,必须将预期含义拆分 可分为以上两类原始实体也可能是 但在这种情况下,releasedEvent 可以接受一个同时包含两者的数组 同一实体上不同类型的事件。

请注意,虽然独家性或特有性在 目录,PublicationEvent 更普遍适用于启用 消除实体的歧义,并提供关于实体的更多元数据, 例如某个系列或剧集的发布日期

属性 优先级 类型 说明
@type 必需 文本 始终设置为以下其中一项:PublicationEventExclusiveEventFeaturedEvent
location 必需 国家/地区 发布事件发生的区域。您还可以使用 代表独家性限制和分布限制 实体的 ID。使用 ISO 3166 代码作为国家/地区。如果您需要申请 全局语义,设置为 EARTH。已明确设置 locationEARTH(如果特定于语言区域) 不适用。
startDate 推荐 (对于 PrivilegeEvent 是必需的) 日期或日期时间 实体的开始日期。如果 PublicationEvent,表示 该实体。对于 ExclusiveEventFeaturedEvent,这表示 实体的独家性或特色。
endDate 推荐 (对于 PrivilegeEvent 是必需的) 日期或日期时间 实体的发布日期。如果 PublicationEvent,表示最终发布日期 该实体的 ID。对于 ExclusiveEventFeaturedEvent,表示 实体的独家性或特色。
publishedBy 必需 组织或个人 OrganizationPerson 实体,用于实现 发布此实体,并应用于此发布事件。请使用 与上一部分中描述的架构相同 组织 (作者/出版商)部分。

示例 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 (associateMedia)

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

重复

适用于受支持平台的深层链接的规范 信息。您可以使用多个 EntryPoint 字段 为不同的平台集定义不同的深层链接。
actionAccessibilityRequirement 必需

ActionAccessSpecification

重复

对用户访问此实体应满足的要求所做的定义。如果有多个 ActionAccessSpecification 展示:符合任一条件的用户 规范条件可以访问相应内容。

入口点 (potentialAction.target)

table class="fixed"> 属性 优先级 类型 说明 @type 必需 文本 始终设置为 EntryPointurlTemplate 必填 网址 用于启动内容播放的链接。 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 必需 文本

访问权限要求的类型。此项必须为以下其中一项: 值:

  • nologinrequired:用户可执行相应操作 无需购买或登录即可访问内容。
  • free:用户无需购买即可执行的操作,或 付费订阅。该操作需要 用户即可登录。
  • subscription:操作包含在付费内容中 订阅您的服务。
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 必需 文本 订阅套餐的名称。例如 PremiumBasic
expectsAcceptanceOf 建议 优惠 与媒体订阅的购买相关的优惠。您 可以用它来表示订阅的价格。

Offer (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"
            }
        }
    ]
}