เอนทิตีบางประเภทกำหนดให้คุณต้องสร้างความสัมพันธ์ระหว่างเนื้อหาในฟีด ข้อมูลนี้ช่วยให้ Google แสดงลำดับและโครงสร้างเนื้อหาที่เหมาะสมต่อผู้ใช้ รวมถึงระบุเนื้อหาที่ถูกต้องเมื่อคำค้นหาของผู้ใช้มีความคลุมเครือ
เลือกประเภทเนื้อหาที่คุณต้องการระบุ
รายการทีวี
หากคุณเป็นผู้ให้บริการรายการทีวี คุณต้องเพิ่มประเภทเอนทิตี TVEpisode, TVSeason และ TVSeries ในฟีดแคตตาล็อกสื่อ คุณดูคำจำกัดความของเอนทิตีเหล่านี้ได้ในส่วนทำความเข้าใจประเภทเอนทิตีที่ใช้ได้โดยกรองหาประเภทเหล่านี้
ระบุความสัมพันธ์
ตรวจสอบว่าสร้างความสัมพันธ์ต่อไปนี้ระหว่างรายการต่างๆ แล้ว
partOfSeries และ partOfSeason จะเชื่อมต่อเอนทิตีประเภทรายการทีวีเข้าด้วยกันเอนทิตี
TVEpisodeกำหนดให้คุณระบุพร็อพเพอร์ตี้partOfSeriesซึ่งระบุ@idและnameของเอนทิตีTVSeriesของตอน"partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },หากฟีดมีซีซันของรายการทีวี เอนทิตี
TVSeasonจะกำหนดให้คุณระบุเอนทิตีTVSeriesของรายการนั้นในพร็อพเพอร์ตี้partOfSeriesด้วยเอนทิตี
TVEpisodeกำหนดให้คุณระบุพร็อพเพอร์ตี้partOfSeasonซึ่งระบุ@idและseasonNumberของเอนทิตีTVSeasonของตอน"partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },หากเอนทิตี
TVEpisodeไม่มีเอนทิตีTVSeasonที่เกี่ยวข้องในฟีด ให้ทำตามขั้นตอนต่อไปนี้เพื่อระบุพร็อพเพอร์ตี้partOfSeason.@idและpartOfSeason.seasonNumberสำหรับเอนทิตีTVEpisode- นำ
partofSeries.@idไปแนบกับช่องการค้นหาตัวยึดตําแหน่ง (เช่น ?season1) เพื่อสร้างpartOfSeason.@idที่ไม่ซ้ำกัน (เช่น http://www.example.com/my_favorite_tv_show?season1) - ตั้งค่า
partOfSeason.seasonNumberเป็น 1
partOfSeason.@idที่มีอยู่สำหรับเอนทิตีTVSeasonที่เกี่ยวข้องซ้ำ หรือแทนที่ตัวยึดตำแหน่งpartOfSeason.@idนี้ด้วย@idจริงของเอนทิตีTVSeasonก็ได้- นำ
ตัวอย่าง
TVSeries
รายการทีวีที่ชอบ
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"url": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
"potentialAction":{ … },
...
}
TVSeason
รายการทีวีที่ชอบ (ซีซัน 7)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"url": "http://www.example.com/my_favorite_tv_show/s7",
"name": "My Favorite TV Show, Season 7",
"seasonNumber": 7,
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
TVEpisode
ตอน 3 ของรายการทีวีที่ฉันชอบ (ซีซัน 7)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVEpisode",
"@id": "http://www.example.com/my_favorite_tv_show/s7/e3",
"url": "http://www.example.com/my_favorite_tv_show/s7/e3",
"name": "John Doe returns at night",
"episodeNumber": 3,
"partOfSeason": {
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"seasonNumber": 7
},
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
วิทยุ
หากคุณเป็นผู้ให้บริการวิทยุ คุณต้องเพิ่มประเภทเอนทิตี RadioBroadcastService ในฟีดแคตตาล็อกสื่อ คุณดูคำจำกัดความของเอนทิตีเหล่านี้ได้ในส่วนทำความเข้าใจประเภทเอนทิตีที่ใช้ได้โดยกรองหาประเภทนี้
ระบุความสัมพันธ์
เนื่องจากมีเอนทิตีเพียงประเภทเดียวสำหรับการผสานรวมดังกล่าว และไม่จำเป็นต้องสร้างความสัมพันธ์ที่ชัดเจน โปรดตรวจสอบว่าคุณได้รวบรวมข้อมูลต่อไปนี้สำหรับเอนทิตี RadioBroadcastService แล้ว
description: คำอธิบายสถานีวิทยุbroadcastDisplayName: ชื่อที่แสดงของสถานีวิทยุareaServed: พื้นที่ที่สถานีวิทยุพร้อมให้บริการcallSign: สัญญาณเรียกขานอย่างเป็นทางการที่ออกโดยหน่วยงานรัฐของสถานีวิทยุ สถานีวิทยุในอเมริกาเหนือจำเป็นต้องระบุพร็อพเพอร์ตี้นี้broadcastFrequency: ข้อกำหนดความถี่ของสถานีวิทยุ- คุณต้องระบุพร็อพเพอร์ตี้นี้สำหรับสถานีวิทยุ AM/FM ภาคพื้นดิน
- สำหรับเนื้อหาสตรีมมิงออนไลน์เท่านั้น ค่านี้จะตั้งเป็น
INTERNET_STREAM
broadcastAffiliateOf: เครือข่ายที่สถานีวิทยุนี้จัดโปรแกรม หากสถานีวิทยุไม่ได้อยู่ภายใต้การเชื่อมโยงใดๆ ก็ไม่จำเป็นต้องใช้พร็อพเพอร์ตี้นี้broadcaster: องค์กรที่เป็นเจ้าของและดำเนินการสถานีวิทยุparentService: สถานีวิทยุหลัก หากสถานีวิทยุเป็นสถานีที่รับสัญญาณหรือสถานีที่แปลสัญญาณของสถานีวิทยุอื่น คุณจะต้องระบุพร็อพเพอร์ตี้นี้
ตัวอย่าง
{
"@context": "http://schema.googleapis.com",
"@type": "RadioBroadcastService",
"@id": "https://www.example.com/stations?id=1",
"url": "https://www.example.com/stations?id=1",
"name": "KABC",
"callSign": "KABC-FM",
"broadcastDisplayName": "KABC",
"description": "Local News & Information",
"broadcastFrequency": {
"@type": "BroadcastFrequencySpecification",
"broadcastFrequencyValue": "89.5",
"broadcastSignalModulation": "FM",
"broadcastSubChannel": "HD1"
},
"areaServed": {
"@type": "City",
"name": "San Francisco, CA"
},
"broadcastAffiliateOf": [
{
"@id": "https://www.example.com/networks/xyz",
"@type": "Organization",
"name": "XYZ",
"sameAs": "https://en.wikipedia.org/wiki/XYZ"
},
{
"@id": "https://www.example.com/networks/efg",
"@type": "Organization",
"name": "EFG",
"sameAs": "https://www.example.com/"
}
],
"broadcaster": [
{
"@type": "Organization",
"name": "California Local Public Broadcasting",
"sameAs": "https://www.example.org/w/clpb/"
},
{
"@type": "Organization",
"sameAs": "https://www.example.org/kabc",
"name": "KABC Inc"
}
],
"potentialAction": { … },
…
}
เพลง
หากคุณเป็นผู้ให้บริการเพลง คุณต้องเพิ่มประเภทเอนทิตี MusicGroup, MusicAlbum และ MusicRecording ในฟีดแคตตาล็อกสื่อ คุณดูคำจำกัดความของเอนทิตีเหล่านี้ได้ในส่วนทำความเข้าใจประเภทเอนทิตีที่ใช้ได้โดยกรองหาประเภทเหล่านี้
MusicGroup, MusicAlbum และ MusicRecording ช่วยให้แอปหรือแพลตฟอร์มเล่นเนื้อหาเพิ่มเติมจากเพลย์ลิสต์ (MusicPlaylist) ได้เมื่อเล่นเนื้อหาทั้งหมดจากเอนทิตีเริ่มต้นแล้ว ลองดูสถานการณ์ต่อไปนี้
- เอนทิตี
MusicAlbumมีรายการเพลงจาก Album XYZ (เอนทิตีหลัก) - เอนทิตี
MusicPlaylistมีเพลย์ลิสต์เพลงที่คล้ายกับเพลงจากอัลบั้ม XYZ - เอนทิตี
MusicAlbumมีเอนทิตีMusicPlaylistเป็นการดำเนินการที่เริ่มต้นด้วยเอนทิตี
ในการตั้งค่านี้ เมื่อเล่นเพลงทั้งหมดจากอัลบั้ม XYZ แล้ว แอปจะเล่นเพลงจากเพลย์ลิสต์ที่ได้จากเอนทิตี MusicPlaylist ต่อได้
การดำเนินการกับเอนทิตีและการดําเนินการที่มาจากเอนทิตี
การดำเนินการเพื่อฟังรองรับการดำเนินการ 2 ประเภท ได้แก่
- การดำเนินการกับเอนทิตี: เปิดศิลปิน อัลบั้ม หรือเพลงที่เฉพาะเจาะจง (เอนทิตีเริ่มต้น) ซึ่งรวมถึง
MusicGroup,MusicAlbum,MusicRecording - การดำเนินการจากเอนทิตีเริ่มต้น: เล่นเนื้อหาที่คล้ายกับเอนทิตีเริ่มต้น ซึ่งรวมถึง
MusicPlaylist- หลังจากการดำเนินการกับเอนทิตีเสร็จสมบูรณ์แล้ว แอปหรือแพลตฟอร์มอาจเริ่มการดำเนินการจากเอนทิตี
- การดำเนินการที่เริ่มต้นด้วยเอนทิตีอาจรวมถึงการเล่นเนื้อหาจากเอนทิตีเริ่มต้น
เราขอแนะนําให้ใส่การดําเนินการจากเอนทิตีในการกระทำของเอนทิตีทุกรายการ
ระบุความสัมพันธ์
- สำหรับ
MusicGroupหากคุณระบุการดำเนินการที่ฝังเอนทิตี ให้ระบุ@idและnameของMusicPlaylist - สำหรับ
MusicAlbumและMusicRecordingคุณต้องระบุMusicGroupที่เป็นเจ้าของ- ระบุ
@idและnameของMusicGroup - หากคุณระบุการดำเนินการที่เริ่มต้นจากเอนทิตี ให้ระบุ
@idและnameของMusicPlaylist
- ระบุ
- สำหรับ
MusicPlaylist- ระบุ
genreที่แสดงถึงเนื้อหาในเพลย์ลิสต์ได้ดีที่สุด (หากมี) - หากเพลย์ลิสต์เป็นเพลย์ลิสต์ที่ดูแลจัดการโดยเจ้าหน้าที่ ให้เลือก
numTracks- การไม่มี
numTracksบ่งบอกให้ Google ทราบว่าเพลย์ลิสต์นั้นเป็นเพลย์ลิสต์แบบไม่สิ้นสุดที่สร้างขึ้นโดยอัตโนมัติ
- การไม่มี
- ระบุ
ตัวอย่าง
MusicGroup
- ศิลปิน: ศิลปินคนโปรดของฉัน
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicGroup",
"@id":"http://www.example.com/artist/my_favorite_artist/",
"url":"http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist",
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/artist_mix/my_favorite_artist/",
"url":"http://www.example.com/artist_mix/my_favorite_artist/",
"name":"My Favorite Artist Mix",
"potentialAction":{ … },
},
...
}
MusicAlbum
- อัลบั้ม: My Favorite Album
- ศิลปิน: ศิลปินคนโปรดของฉัน
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicAlbum",
"@id":"http://www.example.com/album/my_favorite_album",
"url":"http://www.example.com/album/my_favorite_album",
"name":"My Favorite Album",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/album_mix/my_favorite_album",
"url":"http://www.example.com/album_mix/my_favorite_album",
"name":"My Favorite Album Mix",
"potentialAction":{ … },
},
...
}
MusicRecording
- เพลง: เพลงโปรดของฉัน
- ศิลปิน: ศิลปินคนโปรดของฉัน
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicRecording",
"@id":"http://www.example.com/track/my_favorite_song",
"url":"http://www.example.com/track/my_favorite_song",
"name":"My Favorite Song",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/track_mix/my_favorite_song",
"url":"http://www.example.com/track_mix/my_favorite_song",
"name":"My Favorite Song Mix",
"potentialAction":{ … },
},
...
}
MusicPlaylist
- เพลย์ลิสต์ที่กำหนดเอง: "เพลงป๊อปยอดนิยมแห่งปี 2010"
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicPlaylist",
"@id":"http://www.example.com/playlist/top_pop_songs/",
"url":"http://www.example.com/playlist/top_pop_songs/",
"name":"Top Pop Songs of the 2010s",
"genre": [
"pop",
"2010s"
],
"numTracks":"46",
"potentialAction":{ … },
...
}
รายการทีวีสด
If you're a Live TV provider, you need to add the Organization, BroadcastService, CableOrSatelliteService, and TelevisionChannel entity types in your media catalog feed to represent your channel lineup. You may also need to provide the BroadcastEvent, TVSeries, TVEpisode, Movie, and SportsEvent entities to represent the associated EPG (electornic programming guide). You can find the definitions for these entities in the Understand the available entity types section by filtering for these types. For a more detailed explanation, you can visit the Live TV Channels page.
Relationships between entities representing Live TV channels
The figure below shows how the Organization, BroadcastService, CableOrSatelliteService, and TelevisionChannel entities are related:
Organization(operator) entity representing the feed provider and also the parent organization ofCableOrSatelliteServiceservice are connected using theproviderproperty on theCableOrSatelliteServiceentity.Organizationentities corresponding to theBroadcastServiceentities are connected using thebroadcastAffiliateOfproperty on theBroadcastServiceentity.TelevisionChannelentities connect with theCableOrSatelliteServiceentity, that represents the lineup they belong to, using theinBroadcastLineupproperty.TelevisionChannelentities connect with theBroadcastServiceentity, whose programming this channel provides, using theprovidesBroadcastServiceproperty.
It is highly recommended to go through the Live TV channels concept page for concrete examples of how the relationship between the BroadcastService and Organization entities needs to be established.
Relationships between channels and their programming guide (EPG)
The figure below shows how the BroadcastEvent entity links to the rest of the entities in the feed.
BroadcastEvententities, representing the programming guide (EPG) of aBroadcastService, are connected with theBroadcastServiceentities using thepublishedOnproperty on theBroadcastEvententity.BroadcastEvententities can also be connected to top levelTVEpisode,TVSeries,Movieentities using theworkPerformedproperty.BroadcastEvententities can also be connected to top levelSportsEvententities using thebroadcastOfEventproperty.- For channel-less events streamed online, the
BroadcastEvententities connect with the entity representing the live event using either theworkPerformedorbroadcastOfEventproperty depending on what is being live streamed. In such cases, thepublishedOnproperty is not required since the connection to a channel is not required.
Examples
The following section provides examples and snippet for various Watch Action use cases.
National TV service provider on the internet
Organization
A fictional Internet Protocol Television service provider, ExampleTV Digital Service (Organization), provides Live TV service on the Internet, which contains the following two channels: ExampleTV-Movie (Organization) and ExampleTV-Comedy (Organization):
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/digital",
"name":"ExampleTV Digital Service",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/movie",
"name":"ExampleTV Movie",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/comedy",
"name":"ExampleTV Comedy",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}
BroadcastService
These two BroadcastService entities provide the details of deep links and access requirement for the fictional channels ExampleTV-Movie and ExampleTV-Comedy:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie",
"name": "ExampleTV-Movie",
"alternateName": [
"Example Television Movie",
"Example TV Movie"
],
"description": "A fictional Internet Protocol TV movie channel.",
"broadcastDisplayName":"ExampleTV-Movie",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/movie"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/movie?autoplay=true",
"inLanguage": "en",
"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/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12345"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-movie-33345"
}
]
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy",
"name": "ExampleTV-Comedy",
"alternateName": [
"Example Television Comedy",
"Example TV Comedy"
],
"description": "A fictional Internet Protocol TV comedy channel.",
"broadcastDisplayName":"ExampleTV-Comedy",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/comedy"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?autoplay=true",
"inLanguage": "en",
"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/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "15555"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-comedy-12323"
}
]
}
CableOrSatelliteService
This CableOrSatelliteService describes the service provider ExampleTV Digital Service that has national coverage:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us",
"name":"Example TV Digital Service - US",
"provider": {
"@type": "Organization",
"@id": "http://example.com/exampletv/digital",
},
"areaServed":[
{
"@type":"Country",
"name": "US",
}
]
}
TelevisionChannel
These TelevisionChannel entities indicate that ExampleTV Digital Service IPTV has the ExampleTV Movie programming on channel ExTV-Movie and the ExampleTV Comedy programming on channel ExTV-Comedy:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-movie",
"broadcastChannelId":"ExTV-Movie",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie"
}
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-comedy",
"broadcastChannelId":"ExTV-Comedy",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy"
}
}
See the Live TV examples section for more examples.
Broadcast of a Movie on a TV channel
A movie is broadcast on the television network Example TV (BroadcastService) between 5 pm and 7 pm on July 12th, 2019.
BroadcastEvent
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live/movie/new_release",
"name": "My Favorite Movie",
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"startDate": "2019-07-12T17:00-08:00",
"endDate": "2019-07-12T19:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": "False",
"publishedOn": {
"@type": "BroadcastService",
"@id": "http://example.com/stations/example_tv"
},
"workPerformed": {
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie"
}
}
BroadcastService
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"http://example.com/stations/example_tv",
"name":"EXAMPLE-TV",
"broadcastDisplayName":"ABCD",
"callSign": "EXA-TV",
"videoFormat":"SD",
"broadcastTimezone":"America/Los_Angeles",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://example.com/networks/abcd-network",
}
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12258"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-123456"
}
],
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://example.com/livestream",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast",
"http://schema.org/AndroidTVPlatform"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "externalsubscription",
"availabilityStarts": "2018-07-21T10:35:29Z",
"availabilityEnds": "2019-10-21T10:35:29Z",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://example.com/subscription",
"name": "ABCD",
"sameAs": "http://example.com/subscription",
"authenticator": {
"@type": "Organization",
"name": "TVE"
}
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
}
}
Movie
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie",
"url": "http://www.example.com/my_favorite_movie",
"name": "My Favorite Movie",
"sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
"releasedEvent": {
"@type": "PublicationEvent",
"startDate": "2008-01-20",
"location": {
"@type": "Country",
"name": "US"
}
},
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"actor": [
{
"@type": "Person",
"name": "John Doe",
"sameAs": "https://en.wikipedia.org/wiki/John_Doe"
},
{
"@type": "Person",
"name": "Jane Doe",
"sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
}
],
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "IMDB_ID",
"value": "tt0123456"
}
]
}
See the Live TV Event examples section for more examples.
A live sports game streamed online
Broadcast event
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live_eevent/basketball/professional/final_game_6",
"name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
"description": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B.",
"startDate": "2018-09-16T10:00-08:00",
"endDate": "2018-09-16T13:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": "False",
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/pbl_semis_game?autoplay=true",
"inLanguage": "en",
"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/GoogleVideoCast"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "subscription",
"availabilityStarts": "2018-09-16T10:00-08:00",
"availabilityEnds": "2018-09-16T10:00-08:00",
"requiresSubscription": {
"@type": "MediaSubscription",
"name": "Example Package",
"commonTier": true,
"@id": "http://www.example.com/example_package"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"broadcastOfEvent": {
"@type": "SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6"
}
}
Sports event
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6",
"name":"2019 Professional Basketball Finals, Game 6: Team A vs Team B",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"description": {
"@language": "en",
"@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
},
"startDate": "2019-09-16T10:00-08:00",
"endDate": "2019-09-16T13:00-08:00",
"homeTeam":{
"@type":"SportsTeam",
"name":"Team B",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"parentOrganization":{
"@type":"SportsOrganization",
"name":"Professional Basketball League",
"sameAs":"http://www.example.com/professional_basketball_league"
},
"athlete":[
{
"@type":"Person",
"name":"John doe"
}
]
},
"awayTeam":{
"@type":"SportsTeam",
"name":"Team A",
"sport":"https://en.wikipedia.org/wiki/Basketball",
"athlete":[
{
"@type":"Person",
"name":"Jane Doe"
}
]
},
"location":{
"@type":"Place",
"name":"Example Stadium",
"address":{
"@type":"PostalAddress",
"streetAddress":"1600 Amphitheatre Pkwy",
"addressLocality":"Mountain View",
"addressRegion":"CA",
"postalCode":"94043",
"addressCountry":"US"
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "TMS ID of this game"
}
]
}
See the Sports examples section for more examples.