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
If you're a TV show provider, you need to add the TVEpisode, TVSeason, and TVSeries 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.
Identify the relationships
Ensure the following relationships are established among them:
partOfSeries and partOfSeason properties connect the TV show entity types together.A
TVEpisodeentity requires you to provide thepartOfSeriesproperty, which specifies the@idandnameof the episode'sTVSeriesentity."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },If your feed contains TV seasons, a
TVSeasonentity also requires you to specify itsTVSeriesentity in thepartOfSeriesproperty.A
TVEpisodeentity requires you to provide thepartOfSeasonproperty, which specifies the@idandseasonNumberof the episode'sTVSeasonentity."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },If a
TVEpisodeentity doesn't have a correspondingTVSeasonentity in the feed, take the following steps to provide thepartOfSeason.@idandpartOfSeason.seasonNumberproperties for theTVEpisodeentity:- Take its
partofSeries.@idand attach a placeholder query field (for example, ?season1) to create a uniquepartOfSeason.@id(for example, http://www.example.com/my_favorite_tv_show?season1). - Set
partOfSeason.seasonNumberto 1.
partOfSeason.@idfor the correspondingTVSeasonentity or replace this placeholderpartOfSeason.@idwith the actual@idof theTVSeasonentity.- Take its
Example
TVSeries
My Favorite TV Show
{
"@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
My Favorite TV Show (season 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
Episode 3 of My Favorite TV Show (season 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
MusicAlbumentity contains a list of songs from Album XYZ (a seed entity). - A
MusicPlaylistentity contains a playlist of songs that are similar to the songs from Album XYZ. - The
MusicAlbumentity includes theMusicPlaylistentity 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@idandnameof itsMusicPlaylist. - For
MusicAlbumandMusicRecording, you need to identify whichMusicGroupthey belong to.- Identify
@idandnameof itsMusicGroup. - If you provide an Entity-seeded Action, identify
@idandnameof itsMusicPlaylist.
- Identify
- For
MusicPlaylist,- If applicable, identify
genrethat best represents the content in the playlist. - If the playlist is hand curated, identify
numTracks.- The absence of
numTrackstells 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ć do pliku danych katalogu multimediów typy encji Organization, BroadcastService, CableOrSatelliteService i TelevisionChannel, aby przedstawić swoją ofertę kanałów. Może być też konieczne podanie elementów BroadcastEvent, TVSeries, TVEpisode, Movie i SportsEvent, aby przedstawić powiązany przewodnik EPG (elektroniczny przewodnik po programach). Definicje tych elementów znajdziesz w sekcji Informacje o dostępnych typach elementów, filtrując według tych typów. Szczegółowe wyjaśnienie znajdziesz na stronie Kanały telewizji na żywo.
Relacje między elementami reprezentującymi kanały telewizji na żywo
Poniższy rysunek pokazuje, jak powiązane są elementy Organization, BroadcastService, CableOrSatelliteService i TelevisionChannel:
- Encja
Organization(operator) reprezentująca dostawcę pliku danych, a także organizację nadrzędną usługiCableOrSatelliteService, jest połączona za pomocą właściwościproviderw encjiCableOrSatelliteService. - Elementy
Organizationodpowiadające elementomBroadcastServicesą połączone za pomocą właściwościbroadcastAffiliateOfw elemencieBroadcastService. - Elementy
TelevisionChannelłączą się z elementemCableOrSatelliteService, który reprezentuje ofertę, do której należą, za pomocą właściwościinBroadcastLineup. - Elementy
TelevisionChannelłączą się z elementemBroadcastService, którego programy są dostępne na tym kanale, za pomocą właściwościprovidesBroadcastService.
Relacje między kanałami a ich przewodnikiem po programach (EPG)
Poniższy rysunek pokazuje, jak element BroadcastEvent łączy się z pozostałymi elementami w pliku danych.
- Elementy
BroadcastEventreprezentujące przewodnik po programach (EPG) usługiBroadcastServicesą połączone z elementamiBroadcastServiceza pomocą właściwościpublishedOnw elemencieBroadcastEvent. - Elementy
BroadcastEventmożna też połączyć z elementami najwyższego poziomuTVEpisode,TVSeriesiMovieza pomocą właściwościworkPerformed. - Elementy
BroadcastEventmożna też połączyć z elementami najwyższego poziomuSportsEventza pomocą właściwościbroadcastOfEvent. - W przypadku wydarzeń bez kanału przesyłanych strumieniowo online elementy
BroadcastEventłączą się z elementem reprezentującym wydarzenie na żywo za pomocą właściwościworkPerformedlubbroadcastOfEventw zależności od tego, co jest przesyłane strumieniowo na żywo. W takich przypadkach właściwośćpublishedOnnie jest wymagana, ponieważ połączenie z kanałem nie jest konieczne.
Przykłady
W tej sekcji znajdziesz przykłady i fragmenty kodu dotyczące różnych przypadków użycia działania Oglądaj.
Krajowy dostawca usług telewizyjnych w internecie
Organizacja
Fikcyjny dostawca usług telewizyjnych w protokole internetowym ExampleTV Digital Service (Organization) świadczy usługi telewizji na żywo w internecie, które obejmują te 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 elementy BroadcastService zawierają szczegóły linków bezpośrednich i wymagania dotyczące 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 element 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 usługa IPTV ExampleTV Digital Service 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 telewizji na żywo.
Transmisja filmu na kanale telewizyjnym
Film jest transmitowany w sieci telewizyjnej Example TV (BroadcastService) od 17:00 do 19:00 12 lipca 2019 r.
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 wydarzeń telewizji na żywo.
Transmisja sportowa na żywo przesyłana strumieniowo online
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 sportowe.