이 섹션에서는 팟캐스트의 콘텐츠 마크업 속성에 관한 세부정보를 제공합니다.
PodcastSeries 사양
PodcastSeries
는 팟캐스트 '프로그램'이라고도 하는 팟캐스트 시리즈의 표현입니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@context |
필수 | 텍스트 | Schema.org 컨텍스트 항상 [http:/ 로 설정합니다. 여기서 xx 는 언어 코드에 있어야 합니다. 이렇게 하면 항목의 텍스트 값에 사용되는 기본 언어가 설정됩니다. |
@type |
필수 | 텍스트 | 항상 PodcastSeries 로 설정합니다. |
@id |
필수 | 텍스트 | 팟캐스트 시리즈의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. @id 값에 사용되는 도메인은 조직에서 소유해야 합니다.
|
url |
필수 | 텍스트 | 팟캐스트 시리즈를 소개하거나 설명하는 웹사이트의 표준 URL입니다. 전역적으로 고유해야 합니다. 이 링크를 통해 Google 데이터베이스의 콘텐츠와 피드의 콘텐츠를 정확하게 조정할 수 있습니다. 재생의 경우 문서의 ListenAction 섹션에 설명된 target.urlTemplate 를 사용하세요. |
name |
필수 | 텍스트 | 팟캐스트 시리즈의 이름입니다. 언어당 이름을 하나만 포함하세요. 배열을 사용하여 여러 언어로 설명을 마크업합니다. 여러 리전 및 언어 예를 참고하세요. |
description |
필수 | 텍스트 | 팟캐스트 시리즈의 개요입니다. 배열을 사용하여 여러 언어로 설명을 마크업합니다. 여러 지역 및 언어 예시를 참고하세요. |
alternativeHeadline |
선택사항 | 텍스트 | 팟캐스트 시리즈의 자막입니다. |
author |
필수 | repeated |
프로그램을 개발하거나 제공하는 사람 또는 그룹입니다. 호스트를 가리키는 경우가 많습니다. 예시와 자세한 내용은 조직, 사람 (저자/출판사)을 참고하세요. |
publisher |
선택사항 | repeated |
프로그램 게시를 담당하는 원래 그룹 또는 방송 네트워크입니다. 여러 팟캐스트를 게시/제작하는 조직을 가리키는 경우가 많습니다. 예시와 자세한 내용은 조직, 사람 (저자/출판사)을 참고하세요. 이 필드는 구분을 위해 적극 권장되며 해당하는 경우 제공해야 합니다. |
actor |
선택사항 | repeated |
팟캐스트의 행위자입니다. 예시와 자세한 내용은 참여자 (호스트/게스트) 섹션을 참고하세요 . |
logo |
선택사항 | repeated |
시리즈의 로고 이미지입니다. 이를 완전히 설명된 ImageObject 로 제공합니다. 사용 가능한 최고 해상도를 제공합니다. JPEG 또는 PNG 형식이 권장됩니다. 자세한 내용과 예시는 ImageObject (로고) 섹션을 참고하세요. |
image |
필수 | repeated |
시리즈의 포스터 이미지입니다. 이를 완전히 설명된 ImageObject 로 제공합니다. 사용 가능한 최고 해상도를 제공합니다. JPEG 또는 PNG를 사용하는 것이 좋습니다. 자세한 내용과 예시는 ImageObject (로고) 섹션을 참고하세요. |
isFamilyFriendly |
필수 | 불리언 | 이 콘텐츠가 가족 친화적인지 (즉, 콘텐츠가 아동을 포함한 가족 구성원 모두에게 적합한지)를 나타냅니다. Google 제품은 재생할 콘텐츠를 결정하는 데 isFamilyFriendly 를 사용할 수 있습니다. 값은 true 또는 false 이어야 합니다. |
inLanguage |
필수 | 텍스트 | 팟캐스트 콘텐츠의 언어(ISO 639-1 형식)입니다. 이 값은 특정 언어로 된 콘텐츠를 요청하는 사용자 쿼리를 처리하는 데 사용할 수 있습니다. |
genre |
필수 | 텍스트 repeated |
팟캐스트 시리즈의 카테고리 또는 장르입니다. 예를 들어 표준 팟캐스트 카테고리를 따를 수 있습니다. |
endDate |
선택사항 | 날짜 | 팟캐스트 시리즈의 마지막 에피소드가 게시된 날짜입니다. 시리즈가 이미 완료된 경우에만 이 필드를 포함합니다. |
rssFeed |
필수 | URL | 팟캐스트 시리즈의 RSS 피드 URL입니다. |
potentialAction |
필수 | ListenAction |
사용자가 콘텐츠를 들을 때 트리거되는 작업입니다. 자세한 내용은 ListenAction을 참고하세요. |
popularityScore
| 선택사항 | PopularityScoreSpecification |
여러 후보가 있는 경우 게재 우선순위를 결정하는 데 도움이 되는 인기 점수입니다. 자세한 내용과 예시는
PopularityScoreSpecification (popularityScore) 섹션을 참고하세요. |
keywords |
선택사항 | 텍스트 repeated |
팟캐스트 시리즈와 연결될 키워드 목록입니다. 이러한 키워드는 이 팟캐스트 시리즈를 트리거할 수 있는 사용자 검색어를 확장하는 데 사용될 수 있습니다. 예를 들어 게스트 이름, 다룬 주제 등이 있습니다. |
sameAs |
선택사항 | URL | 도메인 외부의 서드 파티 참조 웹페이지 URL로, 항목의 정체성을 명확하게 나타냅니다. 이 웹페이지는 유사한 시리즈가 여러 개 있는 경우 구분하는 데 사용됩니다. 예를 들어 위키피디아 페이지 또는 팟캐스트 시리즈의 홈페이지가 있습니다. 이 필드는 시리즈의 구분을 위해 적극 권장됩니다. |
releasedEvent |
선택사항 | PublicationEvent 또는 더 구체적인 하위유형(FeaturedEvent 또는 ExclusiveEvent) |
팟캐스트 시리즈의 게시 또는 출시를 나타내는 이벤트입니다. 게시 이벤트는 게시자가 팟캐스트를 처음 출시했음을 나타낼 수 있으며, 더 전문적인 유형은 출시의 독점성 또는 추천 기능을 나타내는 데 사용할 수 있습니다. 자세한 내용과 예시는 PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent) 섹션을 참고하세요. 시리즈를 독점 또는 추천으로 표시하면 프로그램의 모든 에피소드가 독점 또는 추천임을 의미합니다. |
countryOfOrigin |
선택사항 | 국가 | 제작사 또는 팟캐스트를 담당하는 개인의 주요 사무실이 있는 국가입니다. |
PodcastEpisode 사양
PodcastEpisode
는 PodcastSeries
내 에피소드의 schema.org 표현입니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@context |
필수 | 텍스트 | Schema.org 컨텍스트 항상 [http://schema.googleapis.com,{@language:xx}] 로 설정합니다. 여기서 xx 은 언어 코드입니다. 이렇게 하면 피드의 텍스트 값에 사용되는 기본 문자 언어가 설정됩니다. |
@type |
필수 | 텍스트 | 항상 PodcastEpisode 로 설정합니다. |
@id |
필수 | 텍스트 | 팟캐스트 에피소드의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. 조직은 @id 값에 사용되는 도메인을 소유하고 있어야 합니다. |
url |
필수 | 텍스트 | 팟캐스트 에피소드를 소개하거나 설명하는 웹사이트의 표준 URL입니다. 이 값은 전역적으로 고유해야 합니다. 이 링크는 피드의 콘텐츠와 Google 데이터베이스의 콘텐츠를 정확하게 조정하는 데 사용됩니다. 재생의 경우 문서의 ListenAction 섹션에 설명된 target.urlTemplate 가 사용됩니다. |
name
| 필수 | 텍스트 | 팟캐스트 에피소드의 이름입니다. 언어당 하나의 이름만 있어야 합니다. 배열을 사용하여 여러 언어로 설명을 마크업합니다. 여러 지역 및 언어 예시를 참고하세요. |
description |
필수 | 텍스트 | 팟캐스트 에피소드의 설명입니다. |
alternativeHeadline |
필수 | 텍스트 | 팟캐스트 에피소드의 부제입니다. |
author |
필수 | repeated |
에피소드를 개발하거나 전송하는 사람 또는 그룹입니다. 이 값은 호스트를 참조하는 경우가 많습니다. 작성자가 프로그램과 동일한 경우 PodcastSeries 항목의 정보를 재사용할 수 있습니다. 예시와 자세한 내용은 조직, 사람 (저자/출판사)을 참고하세요. |
publisher |
필수 | repeated |
프로그램 게시를 담당하는 원래 그룹 또는 방송 네트워크입니다. 여러 팟캐스트를 게시하거나 제작하는 조직을 가리키는 경우가 많습니다. 예시와 세부정보는 조직, 사람 (저자/게시자)을 참고하세요. 이 필드는 구분을 위해 적극 권장되며 해당하는 경우 정의하는 것이 좋습니다. |
actor |
필수 | repeated |
팟캐스트의 행위자입니다. 예시와 자세한 내용은 참여자 (호스트/게스트) 섹션을 참고하세요. |
datePublished |
필수 | 날짜/시간 | 팟캐스트 에피소드의 발표 날짜/시간입니다. 이 값은 에피소드 시퀀스 및 구분을 정렬하는 데 사용됩니다. |
episodeNumber |
필수 | 정수 | 에피소드 번호입니다. |
partOfSeries |
필수 | PodcastSeries | 이 팟캐스트 에피소드가 포함된 PodcastSeries 입니다. 자세한 내용과 예시는 PodcastSeries(partOfSeries)를 참고하세요. |
partOfSeason |
선택사항 | PodcastSeason | 시즌이 여러 개인 시리즈의 경우 이 속성은 시즌 번호 및 시즌 이름과 함께 시즌 정보를 제공합니다. 자세한 내용과 예시는 PodcastSeason(partOfSeason)을 참고하세요. |
timeRequired |
필수 | 기간 | 에피소드 길이이며 ISO 8601 기간 형식으로 나타냅니다. |
image |
선택사항 | repeated |
시리즈의 포스터 이미지입니다. 완전히 설명된 ImageObject 여야 합니다. 사용 가능한 최고 해상도를 제공합니다. JPEG 또는 PNG 형식이 권장됩니다. 자세한 내용과 예시는 ImageObject (로고) 섹션을 참고하세요. |
isFamilyFriendly |
필수 | 불리언 | 이 콘텐츠가 가족 친화적인지 (즉, 콘텐츠가 아동을 포함한 가족 구성원 모두에게 적합한지) 나타냅니다. Google 제품은 isFamilyFriendly 를 사용하여 재생할 콘텐츠를 결정할 수 있습니다.
값은 true 또는 false 이어야 합니다. |
inLanguage |
필수 | 텍스트 | 팟캐스트 에피소드의 콘텐츠 언어(ISO 639-1 형식)입니다. 이 값은 특정 언어로 된 콘텐츠를 요청하는 사용자 쿼리를 처리하는 데 사용합니다. 콘텐츠가 여러 언어로 제공되는 경우 기본 언어를 하나만 입력하세요. |
genre |
필수 | 텍스트 repeated |
팟캐스트 시리즈의 카테고리 또는 장르입니다. 예를 들어 표준 팟캐스트 카테고리를 따를 수 있습니다. |
associatedMedia |
선택사항 | AudioObject | 팟캐스트 에피소드의 오디오 파일입니다. 자세한 내용과 예시는 AudioObject(associatedMedia)를 참고하세요. |
potentialAction |
필수 | ListenAction | 사용자가 콘텐츠를 들을 때 트리거되는 작업입니다. 자세한 내용은 ListenAction 섹션을 참고하세요. |
popularityScore |
선택사항 | PopularityScoreSpecification | 후보가 여러 개인 경우 게재 우선순위를 결정하는 인기 점수입니다. 자세한 내용과 예시는 PopularityScoreSpecification 섹션을 참고하세요. |
keywords |
선택사항 | 텍스트 repeated |
팟캐스트 시리즈와 연결된 키워드 목록입니다. 이러한 키워드는 이 팟캐스트 에피소드를 트리거할 수 있는 사용자 검색어를 확장하는 데 사용될 수 있습니다. 예를 들면 news , sports 또는 history 입니다. |
identifier |
필수 | PropertyValue repeated |
예시는 PropertyValue (식별자) 섹션을 참고하세요. |
sameAs |
선택사항 | URL | 도메인 외부의 서드 파티 참조 웹페이지 URL로, 항목의 정체성을 명확하게 나타냅니다. Google은 유사한 시리즈가 여러 개 있는 경우 이 웹페이지를 사용하여 구분합니다. 예를 들어 위키피디아 페이지나 팟캐스트 에피소드 홈페이지가 있습니다. 시리즈 수준 참조 페이지는 여기에 제공해서는 안 됩니다. 에피소드의 모호성을 해소하기 위해 이 필드를 사용하는 것이 적극 권장됩니다. |
releasedEvent |
선택사항 | PublicationEvent 또는 더 구체적인 하위유형인 FeaturedEvent 또는 ExclusiveEvent | 팟캐스트 에피소드의 게시 또는 출시를 나타내는 이벤트입니다. 게시 이벤트는 게시자가 팟캐스트 에피소드를 처음 출시했음을 나타낼 수 있으며, 더 구체적인 하위유형은 출시의 독점성 또는 추천 여부를 나타낼 수 있습니다. 자세한 내용과 예시는 PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent) 섹션을 참고하세요. 시리즈를 독점 또는 추천으로 표시하면 프로그램의 모든 에피소드가 독점 또는 추천임을 의미합니다. 이러한 속성은 가장 세부적인 수준에서 표시하는 것이 좋습니다. |
countryOfOrigin |
선택사항 | 국가 | 팟캐스트를 담당하는 제작사 또는 개인의 주요 사무실이 있는 국가입니다. |
PodcastSeries (partOfSeries)
partOfSeries
를 사용하여 PodcastEpisode
와 상위 PodcastSeries
간의 관계를 설정합니다. PodcastSeries
의 전체 세부정보는 별도의 PodcastSeries
항목에 설명되어 있으므로 partOfSeries
에 전체 세부정보를 제공할 필요가 없습니다. 다음 속성만 제공하면 됩니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 PodcastSeries 로 설정합니다. |
@id |
필수 | URL | 시리즈의 전역 고유 ID로, URI 형식입니다. 이 ID는 피드의 전체 PodcastSeries 항목의 ID와 일치해야 합니다. |
name |
필수 | 텍스트 | 팟캐스트 시리즈의 이름입니다.
|
예 1
"partOfSeries": {
"@type": "PodcastSeries",
"@id": "http://www.tjpodcast.org/series?id=1",
"name": "Radiolab"
},
PodcastSeason (partOfSeason)
PodcastSeason
는 PodcastEpisode
의 시즌 정보를 나타내며, 가장 중요한 것은 시즌 번호입니다. 팟캐스트 시리즈에 시즌이 여러 개인 경우에만 이 속성이 필요합니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 PodcastSeason 로 설정 |
@id |
필수 | URL | 시즌의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. |
seasonNumber |
필수 | 정수 | 팟캐스트 시리즈의 시즌 번호입니다. |
name |
선택사항 | 텍스트 | 팟캐스트 시즌의 이름입니다. |
예 1
"partOfSeason": {
"@type": "PodcastSeason",
"@id": "http://www.tjpodcast.org/seriesx/season?id=1",
"seasonNumber": 1,
"name": "Radiolab Season 1"
},
조직, 사람 (저자 또는 게시자)
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 Organization 또는 Person 로 설정합니다. |
@id |
필수 | URL | 조직 또는 사람의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. |
name |
필수 | 텍스트 | 조직 또는 사람의 이름입니다. |
sameAs |
선택사항 | URL | 도메인 외부의 서드 파티 참조 웹페이지 URL로, 항목의 정체성을 명확하게 나타냅니다. 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 |
필수 | URL | 조직 또는 사람의 전역 고유 ID로, URI 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. 불투명 문자열로 취급되며 작동하는 링크가 아니어도 됩니다. |
name |
필수 | 텍스트 | 조직 또는 사람의 이름입니다. |
roleName |
필수 | 텍스트 | `Host` 또는 `Guest`입니다. |
sameAs |
선택사항 | URL | 도메인 외부의 서드 파티 참조 웹페이지 URL로, 항목의 정체성을 명확하게 나타냅니다. 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 |
필수 | URL | 이미지가 있는 위치의 URL입니다. |
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(식별자)
콘텐츠의 GUID가 있는 경우 identifier
필드에 이러한 ID를 제공하여 Google의 콘텐츠 조정의 정확성을 개선할 수 있습니다. PodcastEpisode
에는 GUID가 필요합니다.
이 ID는 도메인 내의 에피소드 @id
필드와 달라야 하며, 소스 전반에서 시간 경과에 따라 전 세계적으로 고유하게 소스 에피소드를 나타내야 합니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 `PropertyValue`로 설정합니다. |
propertyID |
필수 | 텍스트 | 항상 GUID 로 설정합니다. |
value |
필수 | 텍스트 | 시리즈 또는 에피소드의 GUID입니다. |
예 1
"identifier": {
"@type": "PropertyValue",
"propertyID": "GUID",
"value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},
PopularityScoreSpecification (popularityScore)
popularityScore
는 사용자 검색어의 기준이 피드의 여러 항목과 일치하는 시나리오에서 사용자가 가장 적절한 콘텐츠를 찾는 데 도움이 될 수 있습니다. 이 값을 사용할 수 있는 경우 사용자의 지역에 제공되는 인기 점수가 가장 높은 콘텐츠가 사용자에게 게재됩니다. 이 필드가 없는 모든 콘텐츠의 기본 인기도 점수는 0
입니다. 점수 비교는 전체 카탈로그의 범위 내에서 이루어지므로 모든 피드에서 크기가 일관되도록 하세요.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 PopularityScoreSpecification 로 설정합니다. |
value |
필수 | 숫자 | 게재 우선순위를 위해 카탈로그의 다른 항목과 비교하는 양수 숫자 값입니다. 숫자가 클수록 인기도가 높습니다. |
eligibleRegion |
선택사항 | 국가 또는 텍스트 repeated |
이 인기도 점수가 적용되는 지역 1곳 또는 지역 목록입니다. 인기 점수가 전 세계적으로 적용되는 경우 특정 지역을 나열해야 하는 경우 '국가' 유형을 사용하세요. 이 필드를 생략하면 |
국가 (popularityScore.eligibleRegion)
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 Country 로 설정합니다. |
name |
필수 | 텍스트 |
ISO 3166-1 alpha-2 국가 코드입니다. 예를 들면 GB , US 입니다. |
예 1
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 4.3,
"eligibleRegion": "Earth"
},
예 2
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 2,
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
},
예시 3
"popularityScore": {
"@type": "PopularityScoreSpecification",
"value": 101,
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "GB"
}
]
},
PublicationEvent, FeaturedEvent, ExclusiveEvent (releasedEvent)
- PublicationEvent
- 프로그램 또는 에피소드의 게시 날짜 및 위치 (시리즈 또는 에피소드의 '출시일'이라고도 함)를 나타내는 데 이 객체를 사용합니다.
또한
publishedBy
필드는 팟캐스트 시리즈 또는 에피소드의 게시 또는 배포 항목을 나타냅니다. - ExclusiveEvent
- 이 객체를 사용하여 제공업체에 팟캐스트의 배타적인 배포 권리가 있음을 나타냅니다. 독점은 지역별로 다를 수 있으며 시간 제한이 있을 수 있으며 콘텐츠의 독점 제공자를 가리키는 조직 필드를 포함해야 합니다.
- FeaturedEvent
- 이 객체는 제공업체가 소비자에게 팟캐스트를 제공한다는 것을 나타냅니다 (예: '오리지널').
- Originals는 Exclusive와 다릅니다.
- '원본 (추천)'이라는 용어는 특정 항목에 대한 독점권을 나타내는 경우가 많으며, 이로 인해 용어가 과부하됩니다. 따라서 의도한 의미를 위의 두 카테고리로 나누어야 합니다. 원래 항목도 배타적일 수 있으며 이 경우
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 (associatedMedia)
AudioObject
는 팟캐스트 에피소드의 원시 미디어 파일을 제공하는 데 사용됩니다.
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 AudioObject 로 설정합니다. |
contentUrl |
필수 | URL | 미디어 파일의 URL입니다. |
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
필수
URL
콘텐츠 재생을 시작하는 데 사용되는 링크입니다.
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"
ActionAccessSpecification (potentialAction.actionAccessibilityRequirement)
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 ActionAccessSpecification 로 설정합니다. |
category |
필수 | 텍스트 |
액세스 요구사항 유형입니다. 다음 값 중 하나여야 합니다.
|
availabilityStarts |
선택사항 | 날짜/시간 | 서비스 일정의 시작 시간입니다. 이를 사용하여 콘텐츠가 사용자에게 표시될 수 있는 정확한 시간을 제어할 수 있습니다. |
availabilityEnds |
선택사항 | 날짜/시간 | 서비스 일정의 종료 시간입니다. 이를 사용하여 이 콘텐츠가 사용자에게 노출되지 않는 정확한 시간을 제어할 수 있습니다. |
eligibleRegion |
필수 | 국가 repeated |
이 혜택을 사용할 수 있는 국가입니다. 이를 사용하여 이 콘텐츠를 사용할 수 있는 국가 또는 지역을 제어할 수 있습니다. |
requiresSubscription |
필수사항(해당하는 경우) | MediaSubscription | 이 콘텐츠에 액세스하는 데 필요한 정기 결제 패키지입니다. 서비스에서 여러 구독 패키지를 제공하는 경우 이 필드는 필수입니다. 서비스가 무료이거나 구독 등급이 하나만 있는 경우 이 입력란을 건너뛰어도 됩니다. |
국가 (potentialAction.actionAccessibilityRequirement.eligibleRegion)
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 Country 로 설정합니다. |
name |
필수 | 텍스트 | ISO 3166-1 alpha 2 국가 코드입니다. |
MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)
속성 | 우선순위 | 유형 | 설명 |
---|---|---|---|
@type |
필수 | 텍스트 | 항상 MediaSubscription 로 설정합니다. |
@id |
필수 | URL | 정기 결제 패키지의 전역 고유 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"
}
}
]
}