Niektóre typy elementów wymagają ustanowienia relacji między treściami w pliku danych. Te informacje pomagają Google wyświetlać użytkownikom prawidłowe treści w odpowiedniej kolejności i strukturze oraz identyfikować właściwe treści, gdy zapytanie użytkownika jest niejednoznaczne.
Wybierz typ treści, które chcesz przesłać:
Program telewizyjny
Jeśli jesteś dostawcą programów telewizyjnych, musisz dodać typy elementów TVEpisode
, TVSeason
i TVSeries
w pliku danych katalogu multimediów. Definicje tych elementów znajdziesz w sekcji Poznawanie dostępnych typów elementów, filtrując według tych typów.
Określanie relacji
Upewnij się, że między tymi elementami istnieją następujące relacje:

partOfSeries
i partOfSeason
łączą ze sobą typy jednostek serialu telewizyjnego.Element
TVEpisode
wymaga podania właściwościpartOfSeries
, która określa@id
iname
elementuTVSeries
odcinka."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },
Jeśli plik danych zawiera sezony serialu, element
TVSeason
wymaga również określenia elementuTVSeries
w przypadku właściwościpartOfSeries
.Element
TVEpisode
wymaga podania właściwościpartOfSeason
, która określa@id
iseasonNumber
elementuTVSeason
odcinka."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },
Jeśli w pliku danych brak odpowiadającego obiektu
TVEpisode
, wykonaj te czynności, aby podać właściwościpartOfSeason.@id
ipartOfSeason.seasonNumber
obiektuTVEpisode
:TVSeason
- Weź jego
partofSeries.@id
i dołącz do niego zastępcze pole zapytania (np. ?season1), aby utworzyć unikalnypartOfSeason.@id
(np. http://www.example.com/my_favorite_tv_show?season1). - Ustaw wartość
partOfSeason.seasonNumber
na 1.
partOfSeason.@id
dla odpowiedniego elementuTVSeason
lub zastąpić ten element zastępczypartOfSeason.@id
rzeczywistym@id
elementuTVSeason
.- Weź jego
Przykład
TVSeries
Mój ulubiony program telewizyjny
{
"@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
Mój ulubiony serial telewizyjny (sezon 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
Odcinek 3 programu Mój ulubiony serial telewizyjny (sezon 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":{ … },
...
}
Radio
Jeśli jesteś dostawcą radia, musisz dodać typ elementu RadioBroadcastService
w pliku danych z katalogiem multimediów. Definicje tych elementów znajdziesz w sekcji Poznanie dostępnych typów elementów, filtrując według tego typu.
Określanie relacji
Ponieważ w przypadku takich integracji istnieje tylko 1 typ elementu i nie ma żadnych relacji, które trzeba by utworzyć, pamiętaj, aby zebrać te informacje o elementach RadioBroadcastService
:
description
: opis stacji radiowej.broadcastDisplayName
: wyświetlana nazwa stacji radiowej.areaServed
: obszar, na którym stacja radiowa jest dostępna.callSign
: oficjalny nadany przez rząd znak wywoławczy stacji radiowej. W przypadku stacji radiowych w Ameryce Północnej ta właściwość jest wymagana.broadcastFrequency
: specyfikacja częstotliwości stacji radiowej.- Ta właściwość jest wymagana w przypadku naziemnych stacji radiowych AM/FM.
- W przypadku treści dostępnych tylko w ramach strumieniowego przesyłania danych online wartość jest ustawiana na
INTERNET_STREAM
.
broadcastAffiliateOf
: sieć, w której działa ta stacja radiowa. Jeśli stacja radiowa nie należy do żadnej organizacji, ta właściwość nie jest wymagana.broadcaster
: organizacja, która jest właścicielem stacji radiowej i ją prowadzi.parentService
: nadrzędna stacja radiowa. Jeśli stacja radiowa jest powtarzaczem lub tłumaczem innej stacji radiowej, ta usługa jest wymagana.
Przykład
{
"@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": { … },
…
}
Muzyka
If you're a music provider, you need to add the MusicGroup
, MusicAlbum
, and MusicRecording
entity types in your media catalog feed. You can find the definitions for these entities in the Understand the available entity types section by filtering for these types.
MusicGroup
, MusicAlbum
, and MusicRecording
let your app or platform play more content from a playlist (MusicPlaylist
) once all the content from the seed entity is played. Check out the following scenario:
- A
MusicAlbum
entity contains a list of songs from Album XYZ (a seed entity). - A
MusicPlaylist
entity contains a playlist of songs that are similar to the songs from Album XYZ. - The
MusicAlbum
entity includes theMusicPlaylist
entity as an Entity-seeded Action.
In this setup, once all the songs from Album XYZ are played, your app can continue to play songs from the playlist provided by the MusicPlaylist
entity.
Entity Action and Entity-seeded Action
Listen Actions support two types of Actions:
- Entity Action: Plays a specific artist, album, or song (a seed entity). It includes
MusicGroup
,MusicAlbum
,MusicRecording
. - Entity-seeded Action: Plays content similar to the seed entity. It includes
MusicPlaylist
.- After completing an Entity Action, your app or platform may initiate an Entity-seeded Action.
- An Entity-seeded Action can include playback of the content from the seed entity.
We recommend you include an Entity-seeded Action in every Entity Action.
Identify the relationships
- For
MusicGroup
, if you provide an Entity-seeded Action, identify@id
andname
of itsMusicPlaylist
. - For
MusicAlbum
andMusicRecording
, you need to identify whichMusicGroup
they belong to.- Identify
@id
andname
of itsMusicGroup
. - If you provide an Entity-seeded Action, identify
@id
andname
of itsMusicPlaylist
.
- Identify
- For
MusicPlaylist
,- If applicable, identify
genre
that best represents the content in the playlist. - If the playlist is hand curated, identify
numTracks
.- The absence of
numTracks
tells Google that the playlist is an auto-generated, endless playlist.
- The absence of
- If applicable, identify
Example
MusicGroup
- Artist: My Favorite Artist
{
"@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
- Album: My Favorite Album
- Artist: My Favorite Artist
{
"@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
- Song: My Favorite Song
- Artist: My Favorite Artist
{
"@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
- A custom playlist: "Top Pop Songs of the 2010s"
{
"@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":{ … },
...
}
Telewizja na żywo
Jeśli jesteś dostawcą telewizji na żywo, musisz dodać typy elementów Organization
, BroadcastService
, CableOrSatelliteService
i TelevisionChannel
w pliku danych katalogu multimediów, aby reprezentować swoją listę kanałów. Może być też konieczne podanie elementów BroadcastEvent
, TVSeries
, TVEpisode
, Movie
i SportsEvent
, aby reprezentować powiązany EPG (elektroniczny przewodnik programowy). Definicje tych elementów znajdziesz w sekcji Poznawanie dostępnych typów elementów, filtrując według tych typów. Więcej informacji znajdziesz na stronie Kanały telewizji na żywo.
Relacje między elementami reprezentującymi kanały telewizji na żywo
Ilustracja poniżej pokazuje, jak elementy Organization
, BroadcastService
, CableOrSatelliteService
i TelevisionChannel
są powiązane:

- Element
Organization
(operator) reprezentujący dostawcę pliku danych oraz nadrzędną organizację usługiCableOrSatelliteService
są połączone za pomocą właściwościprovider
w obiekcieCableOrSatelliteService
. - Elementy
Organization
odpowiadające elementomBroadcastService
są połączone za pomocą właściwościbroadcastAffiliateOf
elementuBroadcastService
. - Elementy
TelevisionChannel
łączą się z elementemCableOrSatelliteService
, który reprezentuje ich serię, za pomocą właściwościinBroadcastLineup
. - Elementy
TelevisionChannel
łączą się z elementemBroadcastService
, który udostępnia programy na tym kanale, za pomocą właściwościprovidesBroadcastService
.
Zalecamy zapoznanie się ze stroną koncepcji kanałów telewizyjnych na żywo, aby poznać konkretne przykłady ustalania relacji między elementami BroadcastService i Organization.
relacje między kanałami a ich przewodnikiem po programach (EPG);
Rysunek poniżej pokazuje, jak element BroadcastEvent
jest połączony z pozostałymi elementami w pliku danych.

- Elementy
BroadcastEvent
, które reprezentują przewodnik po programach (EPG)BroadcastService
, są połączone z elementamiBroadcastService
za pomocą właściwościpublishedOn
elementuBroadcastEvent
. - Elementy
BroadcastEvent
można też łączyć z elementami najwyższego poziomuTVEpisode
,TVSeries
iMovie
za pomocą właściwościworkPerformed
. - Elementy
BroadcastEvent
można też łączyć z elementami najwyższego poziomuSportsEvent
za pomocą właściwościbroadcastOfEvent
. - W przypadku wydarzeń bez kanału transmitowanych online elementy
BroadcastEvent
łączą się z elementem reprezentującym wydarzenie na żywo za pomocą właściwościworkPerformed
lubbroadcastOfEvent
, w zależności od tego, co jest transmitowane na żywo. W takich przypadkach właściwośćpublishedOn
nie jest wymagana, ponieważ nie jest konieczne połączenie z kanałem.
Przykłady
W tej sekcji znajdziesz przykłady i fragmenty kodu dla różnych przypadków użycia akcji po obejrzeniu filmu.
Krajowy dostawca usług telewizyjnych w internecie
Organizacja
Wymyślony dostawca usług telewizji internetowej ExampleTV Digital Service (Organization
) oferuje usługę telewizji na żywo w Internecie, która obejmuje 2 kanały: ExampleTV-Movie (Organization
) i 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
Te 2 podmioty BroadcastService
podają szczegóły dotyczące linków bezpośrednich i wymagań dostępu do fikcyjnych kanałów ExampleTV-Movie i 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
Ten CableOrSatelliteService
opisuje dostawcę usług ExampleTV Digital Service, który ma zasięg krajowy:
{
"@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
Te elementy TelevisionChannel
wskazują, że ExampleTV Digital Service IPTV ma program ExampleTV Movie na kanale ExTV-Movie
i program ExampleTV Comedy na kanale 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"
}
}
Więcej przykładów znajdziesz w sekcji Przykłady dotyczące telewizji na żywo.
Transmisja filmu na kanale telewizyjnym
12 lipca 2019 r. w telewizji Example TV (BroadcastService
) między 17:00 a 19:00 emitowany jest film.
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"
}
]
}
}
}
Film
{
"@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"
}
]
}
Więcej przykładów znajdziesz w sekcji Przykłady transmisji na żywo.
transmisja na żywo meczu sportowego,
Transmitowane wydarzenie
{
"@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"
}
}
Wydarzenie sportowe
{
"@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"
}
]
}
Więcej przykładów znajdziesz w sekcji Przykłady dotyczące sportu.