本節提供 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 |
選用 | repeated |
系列的標誌圖片。提供完整說明的 ImageObject 。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。 |
image |
必要 | repeated |
系列的藝術品圖片。提供完整說明的 ImageObject 。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。 |
isFamilyFriendly |
必要 | 布林值 | 指出這項內容是否適合闔家觀賞 (也就是說,如果內容適合所有家庭成員,包括兒童)。Google 產品可能會使用 isFamilyFriendly 來決定要播放的內容。這個值必須是 true 或 false 。 |
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 規格
PodcastEpisode
是 PodcastSeries
中單集節目的 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 |
選用 | repeated |
系列的藝術品圖片。這必須是完整說明的 ImageObject 。提供最高解析度。建議採用 JPEG 或 PNG如需詳細資訊和範例,請參閱 ImageObject (標誌) 一節。 |
isFamilyFriendly |
必要 | 布林值 | 指出這項內容是否適合闔家觀賞 (也就是說,該內容是否適合所有家庭成員,包括兒童)。Google 產品可能會使用 isFamilyFriendly 來決定要播放的內容。這個值必須是 true 或 false 。 |
inLanguage |
必要 | 文字 | Podcast 單集節目的內容語言採用 ISO 639-1 格式。使用這個值即可滿足要求使用特定語言內容的使用者查詢。如果內容多種語言,請只列出一個主要語言。 |
genre |
必要 | 文字 repeated |
Podcast 系列節目的類別或類型。舉例來說,你可以追蹤標準的 Podcast 類別。 |
associatedMedia |
選用 | 音訊物件 | Podcast 單集節目的音訊檔案。如需詳細資訊和範例,請參閱 AudioObject(relatedMedia)。 |
potentialAction |
必要 | ListenAction | 觸發使用者聆聽內容的動作。詳情請參閱 ListenAction 一節。 |
popularityScore |
選用 | PopularityScore 規格 | 有多個候選項目時,系統會以這個熱門分數來決定提供服務的優先順序。如需詳細資訊和範例,請參閱 PopularityScoreSpec 區段。 |
keywords |
選用 | 文字 repeated |
與 Podcast 系列節目相關的關鍵字清單。這些關鍵字可用於擴充可能觸發此 Podcast 劇集的使用者查詢。例如 news 、sports 或 history 。 |
identifier |
必要 | PropertyValue repeated |
針對 如需範例,請參閱 PropertyValue (identifier) 一節。 |
sameAs |
選用 | 網址 | 可明確識別商品識別的第三方網頁 (不在您的網域內) 的參考網頁網址。如果有多個類似系列的話,Google 會使用這個頁面來區分。例如維基百科頁面或 Podcast 節目首頁請注意,請勿在此提供系列層級的參考頁面。強烈建議您使用這個欄位來區分單集節目。 |
releasedEvent |
選用 | PublicationEvent,或更具體的子類型 - 精選活動 或 專屬 Event | 標記 Podcast 單集節目的發布或發布事件。出版品事件可能會指出出版商首次發布 Podcast 劇集,較具體的子類型可能代表該版本的獨佔性或精選性。如需詳細資訊和範例,請參閱 PublicationEvent、精選 Event、idEvent (releasedEvent) 一節。請注意,如要將系列影片標示為專屬或精選項目,表示該節目的所有劇集都是專屬或精選內容。建議您將這些屬性標示為最精細的層級。 |
countryOfOrigin |
選用 | 國家/地區 | 製片公司主要辦公室的國家/地區,或個人責任。 |
PodcastSeries (PartOfSeries)
使用 partOfSeries
在 PodcastEpisode
及其父項 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 |
必要 | 文字 | 一律設為 Organization 或 Person 。 |
@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 |
必要 | 文字 | 一律設為 Organization 或 Person 。 |
@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 |
允許播放媒體內容的國家/地區:
|
國家/地區 (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
欄位不同 (不得在您的網域中),並且必須代表全球各個來源,且在來源上代表該來源。
屬性 | 優先順序 | 類型 | 說明 |
---|---|---|---|
@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 |
套用這項熱門分數的地區。 如果熱門分數適用於全球,請使用 如果您必須列出特定地區,請使用「國家/地區」類型。 如果您不填寫這個欄位, |
國家/地區 (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、精選 Event、專屬 Event (releasedEvent)
- 公開活動
- 這個物件用於表示單集節目或單集節目的發布日期和地點 (又稱系列或劇集的「發行日期」)。
此外,
publishedBy
欄位表示 Podcast 影集或劇集的發布或發布實體。 - 專屬事件
- 請使用這個物件來表示提供者擁有 Podcast 的專屬發布權限。排除功能可以是特定區域及的時間限制,而且必須包含指向內容專屬提供者的機構欄位。
- 精選活動
- 請使用這個物件來表示提供者向消費者顯示 Podcast (例如「原創」)。
- 原創性與獨家內容不同
- 「原始 (精選內容)」這個字詞通常代表特定實體的專屬權利,因此會超載該字詞。因此,預期意義必須拆分為上述兩個類別。原始實體也可能是唯一的,在這種情況下,
releasedEvent
可採用相同實體中同時包含這兩種事件的陣列。
請注意,雖然獨佔性或精選性可能在供應器的目錄中共用類似的含義,但 PublicationEvent
通常更適用於適用實體的區別,並提供其他有關相同中繼資料的中繼資料,例如影集或劇集的發布日期。
屬性 | 優先順序 | 類型 | 說明 |
---|---|---|---|
@type |
必要 | 文字 | 一律設為 PublicationEvent 、ExclusiveEvent 或 FeaturedEvent 其中之一。 |
location |
必要 | 國家/地區 | 發布事件的所在區域。您也可以使用這個方法來代表實體的獨佔性限制和分配限制。請使用國家/地區的 ISO 3166 代碼。如果需要套用全域語意,請設為 EARTH 。將 location 明確地設為 EARTH ,以防特定語言代碼的限制。 |
startDate |
建議使用 (此為專屬活動專用參數) | 日期或日期時間 | 實體的發布開始日期。以 PublicationEvent 表示,這個實體的初始發布日期。以 ExclusiveEvent 或 FeaturedEvent 來說,這個欄位表示實體的獨佔性或特徵的開始日期。 |
endDate |
建議使用 (此為專屬活動專用參數) | 日期或日期時間 | 實體出版品的結束日期。在 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 (關聯媒體)
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 |
必要 |
repeated |
您的深層連結規格和支援的平台資訊。您可以使用多個 EntryPoint 欄位來定義不同平台集的不同深層連結。 |
actionAccessibilityRequirement |
必要 |
repeated |
定義使用者必須符合怎樣的條件才能存取這個實體。如有多個 ActionAccessSpecification ,使用者只要符合任何規格條件就能存取內容。 |
EntryPoint (potentialAction.target)
@type
必填
文字
一律設為 EntryPoint
。
urlTemplate
必填
網址
用於播放內容的連結。
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 |
必要 | 文字 |
存取權要求類型。但必須是下列其中一個值:
|
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 |
必要 | 文字 | 訂閱套件的名稱。例如 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"
}
}
]
}