Podcast 的 Schema.org 規格

本節提供 Podcast 內容標記屬性的詳細資料。

PodcastSeries 規格

PodcastSeries 代表 Podcast 系列的表示法,又稱為 Podcast「節目」。

屬性 優先順序 類型 說明
@context 必要 文字 schema.org 結構定義。一律設為 [http://schema.googleapis.com,{@language}:xx}],其中 xx 應為語言代碼。這會設定實體中文字值的預設語言。
@type 必要 文字 一律設為 PodcastSeries
@id 必要 文字 Podcast 系列影片的全域唯一 ID,採 URI 格式。這個 ID 應固定,不會隨著時間而改變。系統會將其視為不透明字串,且不一定要是有效連結。用於 @id 值的網域必須由貴機構所擁有。
url 必要 文字 您網站上介紹或描述 Podcast 系列的標準網址。不得重複,這個連結能協助系統準確比對動態饋給中的內容與 Google 資料庫中的內容。如要播放,請使用說明文件 ListenAction 區段中所述的 target.urlTemplate
name 必要 文字

Podcast 系列名稱。每種語言只能有一個名稱。

使用陣列來標記多種語言的說明。請參閱多地區和語言範例

description 必要 文字

Podcast 系列影片簡介。

使用陣列來標記多種語言的說明。請參閱多地區和語言範例

alternativeHeadline 選用 文字 Podcast 系列的字幕。
author 必要

個人或機構

repeated

開發或放送節目的人員或群體。通常指主機。如需範例和詳細資訊,請參閱 Organization、Person (author/publisher)
publisher 選用

個人或機構

repeated

負責發布節目的原始群組或網路。通常是指負責發布/製作多個 Podcast 的機構。如需範例和詳細資訊,請參閱機構、人員 (作者/出版商)。強烈建議您使用這個欄位進行區分,請務必視情況提供這項資訊。
actor 選用

個人或機構

repeated

Podcast 的演員。如需範例和詳細資訊,請參閱執行者 (主機/訪客) 一節。
logo 選用

ImageObject

repeated

系列的標誌圖片。提供完整說明的 ImageObject。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。
image 必要

ImageObject

repeated

系列的藝術品圖片。提供完整說明的 ImageObject。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。
isFamilyFriendly 必要 布林值 指出這項內容是否適合闔家觀賞 (也就是說,如果內容適合所有家庭成員,包括兒童)。Google 產品可能會使用 isFamilyFriendly 來決定要播放的內容。這個值必須是 truefalse
inLanguage 必要 文字 Podcast 內容使用 ISO 639-1 格式的語言版本。這個值可用來完成使用者要求以特定語言顯示內容的查詢。
genre 必要

文字

repeated

Podcast 系列節目的類別或類型。例如,您可以追蹤標準 Podcast 類別
endDate 選用 日期 Podcast 影集的單集節目結束發布日期。只有在系列已結束時,才加入這個欄位。
rssFeed 必要 網址 Podcast 系列 RSS 動態消息的網址。
potentialAction 必要 ListenAction 觸發使用者聆聽內容的動作。詳情請參閱 ListenAction
popularityScore 選用 PopularityScoreSpecification 有多個候選項目時,系統會以這個熱門分數協助您判斷放送優先順序。如需詳細資訊和範例,請參閱 PopularityScoreSpecification (popularityScore) 一節。
keywords 選用

文字

repeated

與 Podcast 系列有關的關鍵字清單。這些關鍵字可用於擴充可能觸發此 Podcast 系列的使用者查詢。例如訪客姓名、涵蓋的主題等。
sameAs 選用 網址 可明確識別商品識別的第三方網頁 (不在您的網域內) 的參考網頁網址。當多個類似系列存在時,此頁面可用於區分。例如維基百科頁面或 Podcast 影集的首頁我們強烈建議使用這個欄位來區分系列內容。
releasedEvent 選用 PublicationEvent,或更具體的子類型 - 精選活動專屬活動 標記 Podcast 系列作品的發布或發布事件。出版品事件可能會注意到出版商初始推出的 Podcast 版本,較特殊的類型可用來表示版本的獨佔性或精選性。如需更多詳細資訊和範例,請參閱 PublicationEvent、精選 Event、專屬 Event (releasedEvent) 一節。請注意,將系列影片標記為專屬或精選內容,意味著該節目的所有劇集都是專屬或精選內容。
countryOfOrigin 選用 國家/地區 製片公司主要辦公室的國家/地區,或負責 Podcast 的負責人。

PodcastEpisode 規格

PodcastEpisodePodcastSeries 中單集節目的 schema.org 表示法。

屬性 優先順序 類型 說明
@context 必要 文字 schema.org 結構定義。一律設為 [http://schema.googleapis.com,{@language:xx}],其中 xx 是語言代碼。這會設定動態饋給中文字值的預設字元語言。
@type 必要 文字 一律設為 PodcastEpisode
@id 必要 文字 Podcast 單集節目的全域專屬 ID,採 URI 格式。這個 ID 應固定,不會隨著時間而改變。系統會將其視為不透明字串,且不一定要是有效連結。貴機構必須擁有用於 @id 值的網域。
url 必要 文字 您網站上用於介紹或描述 Podcast 劇集的標準網址。這個值在全域中皆不得重複。這個連結能協助系統準確比對動態饋給中的內容與 Google 資料庫中的內容。播放時,系統會使用說明文件 ListenAction 區段中所述的 target.urlTemplate
name 必要 文字

Podcast 單集節目的名稱。

每種語言只能有一個名稱。使用陣列標記說明多種語言。請參閱多地區和語言範例

description 必要 文字 Podcast 單集節目的說明。
alternativeHeadline 必要 文字 Podcast 單集節目的字幕。
author 必要

個人或機構

repeated

開發或提交單集節目的使用者或群組。這個值通常會參照主機。如果作者與節目相同,您可以重複使用 PodcastSeries 實體的資訊。有關範例與詳細資訊,請參閱機構、人員 (作者/出版商)
publisher 必要

個人或機構

repeated

負責發布節目的原始群組或網路。通常是指負責發布或產生多個 Podcast 的機構。如需範例與詳細資訊,請參閱「機構、個人 (作者/出版商)」。我們極力建議您先定義這個欄位,建議您視情況定義。
actor 必要

個人或機構

repeated

Podcast 的演員。如需範例和詳細資訊,請參閱執行者 (主機/訪客) 一節。
datePublished 必要 日期時間 Podcast 單集節目的發布日期。這個值用於排序單集節目序列和消歧。
episodeNumber 必要 整數 集數。
partOfSeries 必要 Podcast 系列 這個 Podcast 節目所屬的 PodcastSeries。如需詳細資訊和範例,請參閱 PodcastSeries(partOfSeries)
partOfSeason 選用 Podcast 季別 針對多季影集,該屬性提供季別資訊,以及季別編號和季別名稱。如需詳細資訊和範例,請參閱 PodcastSeason(PartOfSeason)
timeRequired 必要 時間長度 單集節目的格式,採 ISO 8601 格式。
image 選用

ImageObject

repeated

系列的藝術品圖片。這必須是完整說明的 ImageObject。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。
isFamilyFriendly 必要 布林值 指出這項內容是否適合闔家觀賞 (也就是說,該內容是否適合所有家庭成員,包括兒童)。Google 產品可能會使用 isFamilyFriendly 來決定要播放的內容。這個值必須是 truefalse
inLanguage 必要 文字 Podcast 單集節目的內容語言採用 ISO 639-1 格式。使用這個值即可滿足要求使用特定語言內容的使用者查詢。如果內容多種語言,請只列出一個主要語言。
genre 必要

文字

repeated

Podcast 系列節目的類別或類型。舉例來說,你可以追蹤標準的 Podcast 類別
associatedMedia 選用 音訊物件 Podcast 單集節目的音訊檔案。如需詳細資訊和範例,請參閱 AudioObject(relatedMedia)
potentialAction 必要 ListenAction 觸發使用者聆聽內容的動作。詳情請參閱 ListenAction 一節。
popularityScore 選用 PopularityScore 規格 有多個候選項目時,系統會以這個熱門分數來決定提供服務的優先順序。如需詳細資訊和範例,請參閱 PopularityScoreSpec 區段。
keywords 選用

文字

repeated

與 Podcast 系列節目相關的關鍵字清單。這些關鍵字可用於擴充可能觸發此 Podcast 劇集的使用者查詢。例如 newssportshistory
identifier 必要

PropertyValue

repeated

針對 PodcastEpisode,請使用這項屬性提供 GUID。GUID 必須是可明確識別 Podcast 劇集的全球 ID,這與單集節目的 @id 欄位不同。

如需範例,請參閱 PropertyValue (identifier) 一節。

sameAs 選用 網址 可明確識別商品識別的第三方網頁 (不在您的網域內) 的參考網頁網址。如果有多個類似系列的話,Google 會使用這個頁面來區分。例如維基百科頁面或 Podcast 節目首頁請注意,請勿在此提供系列層級的參考頁面。強烈建議您使用這個欄位來區分單集節目。
releasedEvent 選用 PublicationEvent,或更具體的子類型 - 精選活動專屬 Event 標記 Podcast 單集節目的發布或發布事件。出版品事件可能會指出出版商首次發布 Podcast 劇集,較具體的子類型可能代表該版本的獨佔性或精選性。如需詳細資訊和範例,請參閱 PublicationEvent、精選 Event、idEvent (releasedEvent) 一節。請注意,如要將系列影片標示為專屬或精選項目,表示該節目的所有劇集都是專屬或精選內容。建議您將這些屬性標示為最精細的層級。
countryOfOrigin 選用 國家/地區 製片公司主要辦公室的國家/地區,或個人責任。

PodcastSeries (PartOfSeries)

使用 partOfSeriesPodcastEpisode 及其父項 PodcastSeries 之間建立關係。由於有單獨的 PodcastSeries 實體詳細說明瞭 PodcastSeries 的完整資訊,所以您不需要在 partOfSeries 中提供完整詳細資料。您只需要提供下列屬性:

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 PodcastSeries
@id 必要 網址 系列的全域唯一 ID,採 URI 格式。ID 必須與動態饋給中完整 PodcastSeries 實體的 ID 相符。
name 必要 文字 Podcast 系列名稱。

範例 1

"partOfSeries": {
  "@type": "PodcastSeries",
  "@id": "http://www.tjpodcast.org/series?id=1",
  "name": "Radiolab"
},

Podcast 季別 (當季)

PodcastSeason 代表 PodcastEpisode 的季別資訊,其中最重要的是季別編號。只有在 Podcast 系列含有多個季別時,才需要使用這項屬性。

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 PodcastSeason
@id 必要 網址 季別全域專屬 ID,採 URI 格式。這個 ID 應固定,不會隨著時間而改變。系統會將其視為不透明字串,且不一定要是有效連結。
seasonNumber 必要 整數 Podcast 系列的季別編號。
name 選用 文字 Podcast 季別名稱。

範例 1

"partOfSeason": {
  "@type": "PodcastSeason",
  "@id": "http://www.tjpodcast.org/seriesx/season?id=1",
  "seasonNumber": 1,
  "name": "Radiolab Season 1"
},

機構、個人 (作者或出版商)

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 OrganizationPerson
@id 必要 網址 URI 格式的機構或個人全域 ID。這個 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 必要 網址 URI 格式的機構或個人全域 ID。這個 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 選用

國家/地區

repeated

允許播放媒體內容的國家/地區:

  • 如果未指定,系統會假設圖片在所有地區都允許使用。
  • 如要為每個地區提交不同的圖片,請新增多個 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 欄位提供這些 ID,以改善 Google 對內容資料的準確度。請注意,PodcastEpisode 必須使用 GUID。這必須與單集節目的 @id 欄位不同 (不得在您的網域中),並且必須代表全球各個來源,且在來源上代表該來源。

屬性 優先順序 類型 說明
@type 必要 文字 一律設為「PropertyValue」。
propertyID 必要 文字 一律設為 GUID
value 必要 文字 影集或劇集的 GUID。

範例 1

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

TopityScore 規格 (popularityScore)

當使用者查詢中的條件與動態饋給中的多個實體相符時,popularityScore 可協助使用者前往最適當的內容。這個值可用時,使用者所在地區所在地區分數最高的內容會提供給使用者。所有未含這個欄位的內容都會預設為熱門程度分數 0。分數比較會在完整目錄範圍內進行,因此請確保所有動態饋給的資源調度都一致。

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 PopularityScoreSpecification
value 必要 數字 一個正數值,用於比對目錄中的其他實體,以優先放送以達到優先順序。數字越大,表示熱門程度越高。
eligibleRegion 選用

國家/地區或文字

repeated

套用這項熱門分數的地區。

如果熱門分數適用於全球,請使用 earth 做為文字值。

如果您必須列出特定地區,請使用「國家/地區」類型。

如果您不填寫這個欄位,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、精選 Event、專屬 Event (releasedEvent)

公開活動
這個物件用於表示單集節目或單集節目的發布日期和地點 (又稱系列或劇集的「發行日期」)。 此外,publishedBy 欄位表示 Podcast 影集或劇集的發布或發布實體。
專屬事件
請使用這個物件來表示提供者擁有 Podcast 的專屬發布權限。排除功能可以是特定區域及的時間限制,而且必須包含指向內容專屬提供者的機構欄位。
精選活動
請使用這個物件來表示提供者向消費者顯示 Podcast (例如「原創」)。
原創性與獨家內容不同
「原始 (精選內容)」這個字詞通常代表特定實體的專屬權利,因此會超載該字詞。因此,預期意義必須拆分為上述兩個類別。原始實體也可能是唯一的,在這種情況下,releasedEvent 可採用相同實體中同時包含這兩種事件的陣列。

請注意,雖然獨佔性或精選性可能在供應器的目錄中共用類似的含義,但 PublicationEvent 通常更適用於適用實體的區別,並提供其他有關相同中繼資料的中繼資料,例如影集或劇集的發布日期。

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 PublicationEventExclusiveEventFeaturedEvent 其中之一。
location 必要 國家/地區 發布事件的所在區域。您也可以使用這個方法來代表實體的獨佔性限制和分配限制。請使用國家/地區的 ISO 3166 代碼。如果需要套用全域語意,請設為 EARTH。將 location 明確地設為 EARTH,以防特定語言代碼的限制。
startDate 建議使用 (此為專屬活動專用參數) 日期或日期時間 實體的發布開始日期。以 PublicationEvent 表示,這個實體的初始發布日期。以 ExclusiveEventFeaturedEvent 來說,這個欄位表示實體的獨佔性或特徵的開始日期。
endDate 建議使用 (此為專屬活動專用參數) 日期或日期時間 實體出版品的結束日期。在 PublicationEvent 中,這是指這個實體的最終發布日期。以 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 (關聯媒體)

AudioObject 是用來提供 Podcast 單集節目的原始媒體檔案。

屬性 優先順序 類型 說明
@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

repeated

您的深層連結規格和支援的平台資訊。您可以使用多個 EntryPoint 欄位來定義不同平台集的不同深層連結。
actionAccessibilityRequirement 必要

ActionAccessSpecification

repeated

定義使用者必須符合怎樣的條件才能存取這個實體。如有多個 ActionAccessSpecification,使用者只要符合任何規格條件就能存取內容。

EntryPoint (potentialAction.target)

table class="fixed"> 屬性 優先順序 類型 說明 @type 必填 文字 一律設為 EntryPointurlTemplate 必填 網址 用於播放內容的連結。 actionPlatform 必填

文字

repeated

這個深層連結適用的所有平台。可能的值如下:

  • "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"

動作存取權規格 (potentialAction.actionAccessibilityRequirement)

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 ActionAccessSpecification
category 必要 文字

存取權要求類型。但必須是下列其中一個值:

  • nologinrequired:這項動作讓使用者無須購買或登入即可存取內容。
  • free:使用者無須購買或付費訂閱,即可執行這項操作。實際操作時,使用者必須登入。
  • subscription:動作包含付費訂閱服務的費用。
availabilityStarts 選用 日期時間 供應期間的開始時間。這項功能可用來控制使用者看到這項內容的確切時間。
availabilityEnds 選用 日期時間 供應期間的結束時間。此屬性可用來控制此內容停止向使用者曝光的確切時間。
eligibleRegion 必要

國家/地區

repeated

適用這項優惠的國家/地區。您可以用這項功能來控管內容的供應國家/地區。
requiresSubscription 必要 (如適用) 媒體訂閱 存取這項內容所需的訂閱套件。如果您的服務提供多個訂閱套件,則此為必要欄位。如果您的服務為免費服務,或只有單一層級的訂閱,則可略過這個欄位。

國家/地區 (potentialAction.actionAccessibilityRequirement.eligibleRegion)

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 Country
name 必要 文字 ISO 3166-1 alpha 2 格式的國家/地區代碼。

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

屬性 優先順序 類型 說明
@type 必要 文字 一律設為 MediaSubscription
@id 必要 網址 訂閱套件的全域唯一識別碼,採 URI 格式。這個 ID 應固定,不會隨著時間而改變。系統會將其視為不透明字串,且不一定要是有效連結。
name 必要 文字 訂閱套件的名稱。例如 PremiumBasic
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"
            }
        }
    ]
}