Alguns tipos de entidade exigem que você estabeleça a relação entre o conteúdo do seu feed. Essas informações ajudam o Google a exibir a ordem e a estrutura corretas do seu conteúdo para os usuários e identificar o conteúdo correto quando a consulta de um usuário é ambígua.
Selecione o tipo de conteúdo que você oferece:
Programa de TV
Se você for um provedor de programas de TV, precisará adicionar os tipos de entidade TVEpisode
, TVSeason
e TVSeries
ao feed de catálogo de mídia. Para encontrar as definições dessas entidades, filtre os tipos correspondentes na seção Entender os tipos de entidade disponíveis.
Identificar as relações
Certifique-se de que os seguintes relacionamentos estejam estabelecidos entre eles:
Uma entidade
TVEpisode
exige que você forneça a propriedadepartOfSeries
, que especifica o@id
e oname
da entidadeTVSeries
do episódio."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },
Se o feed tiver temporadas de TV, uma entidade
TVSeason
também vai exigir que você especifique a entidadeTVSeries
na propriedadepartOfSeries
.Uma entidade
TVEpisode
exige que você forneça a propriedadepartOfSeason
, que especifica o@id
e oseasonNumber
da entidadeTVSeason
do episódio."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },
Se uma entidade
TVEpisode
não tiver uma entidadeTVSeason
correspondente no feed, siga estas etapas para fornecer as propriedadespartOfSeason.@id
epartOfSeason.seasonNumber
à entidadeTVEpisode
:- Pegue a
partofSeries.@id
dela e anexe um campo de consulta de marcador (por exemplo, ?season1) para criar umpartOfSeason.@id
exclusivo (por exemplo, http://www.example.com/my_favorite_tv_show?season1). - Defina
partOfSeason.seasonNumber
como 1.
partOfSeason.@id
existente para a entidadeTVSeason
correspondente ou substitua o marcador de posiçãopartOfSeason.@id
pelo@id
real da entidadeTVSeason
.- Pegue a
Exemplo
TVSeries
Meu programa de TV favorito
{
"@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 Program (7a temporada)
{
"@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
Episódio 3 de Meu programa de TV favorito (temporada 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":{ … },
...
}
Rádio
Se você for um provedor de rádio, precisará adicionar o tipo de entidade RadioBroadcastService
ao feed de catálogo de mídia. Para encontrar as definições dessas entidades, use o filtro desse tipo na seção Entender os tipos de entidade disponíveis.
Identificar as relações
Como há apenas um tipo de entidade para essas integrações, embora não haja relacionamentos explícitos que precisam ser estabelecidos, colete as seguintes informações para as entidades RadioBroadcastService
:
description
: a descrição da estação de rádio.broadcastDisplayName
: o nome de exibição da estação de rádio.areaServed
: a área em que a estação de rádio está disponível.callSign
: o indicativo de chamada oficial da estação de rádio emitido pelo governo. Para estações de rádio da América do Norte, esta propriedade é obrigatória.broadcastFrequency
: a especificação de frequência da estação de rádio.- Para estações de rádio AM/FM terrestres, essa propriedade é obrigatória.
- Para conteúdo somente de streaming on-line, o valor é definido como
INTERNET_STREAM
.
broadcastAffiliateOf
: a rede da qual a estação de rádio oferece programação. Se a estação de rádio não fizer parte de nenhuma afiliação, essa propriedade não é obrigatória.broadcaster
: a organização que é proprietária e opera a estação de rádio.parentService
: a estação de rádio principal. Se a estação de rádio for repetidora ou tradutora de outra estação de rádio, essa propriedade será obrigatória.
Exemplo
{
"@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": { … },
…
}
Música
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":{ … },
...
}
TV ao vivo
Se você for um provedor de TV ao vivo, precisará adicionar os tipos de entidade Organization
, BroadcastService
, CableOrSatelliteService
e TelevisionChannel
ao feed de catálogo de mídia para representar seu lineup de canais. Talvez também seja necessário informar as entidades BroadcastEvent
, TVSeries
, TVEpisode
, Movie
e SportsEvent
para representar o guia de programação eleitoral (EPG, na sigla em inglês) associado. Para encontrar as definições dessas entidades, filtre os tipos correspondentes na seção Entender os tipos de entidade disponíveis. Para uma explicação mais detalhada, visite a página Canais de TV ao vivo.
Relações entre entidades que representam canais de TV ao vivo
A figura abaixo mostra como as entidades Organization
, BroadcastService
, CableOrSatelliteService
e TelevisionChannel
estão relacionadas:
- A entidade
Organization
(operador) que representa o provedor do feed e a organização pai do serviçoCableOrSatelliteService
são conectadas usando a propriedadeprovider
na entidadeCableOrSatelliteService
. - As entidades
Organization
correspondentes às entidadesBroadcastService
são conectadas usando a propriedadebroadcastAffiliateOf
na entidadeBroadcastService
. - As entidades
TelevisionChannel
se conectam à entidadeCableOrSatelliteService
, que representa o lineup a que pertencem, usando a propriedadeinBroadcastLineup
. - As entidades
TelevisionChannel
se conectam à entidadeBroadcastService
, que tem a programação fornecida por esse canal, usando a propriedadeprovidesBroadcastService
.
É altamente recomendável consultar a página conceitual Canais de TV ao vivo para ver exemplos concretos de como a relação entre as entidades BroadcastService e Organização precisa ser estabelecida.
Relacionamentos entre canais e o guia de programação (EPG)
A figura abaixo mostra como a entidade BroadcastEvent
é vinculada ao restante das entidades no feed.
- As entidades
BroadcastEvent
, que representam o guia de programação (EPG, na sigla em inglês) de umBroadcastService
, são conectadas às entidadesBroadcastService
usando a propriedadepublishedOn
na entidadeBroadcastEvent
. - As entidades
BroadcastEvent
também podem ser conectadas a entidades de nível superiorTVEpisode
,TVSeries
eMovie
usando a propriedadeworkPerformed
. - As entidades
BroadcastEvent
também podem ser conectadas a entidadesSportsEvent
de nível superior usando a propriedadebroadcastOfEvent
. - Para eventos sem canal transmitidos on-line, as entidades
BroadcastEvent
se conectam à entidade que representa o evento ao vivo usando a propriedadeworkPerformed
oubroadcastOfEvent
, dependendo do que está sendo transmitido ao vivo. Nesses casos, a propriedadepublishedOn
não é necessária, já que a conexão a um canal não é necessária.
Exemplos
A seção a seguir mostra exemplos e snippets para vários casos de uso de Ação de assistir.
Provedor nacional de serviços de TV na Internet
Organização
Um provedor de serviços de televisão por protocolo de Internet fictício, ExampleTV Digital Service (Organization
), oferece serviço de TV ao vivo na Internet, com os dois canais a seguir: ExampleTV-Movie (Organization
) e 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
Essas duas entidades BroadcastService
fornecem os detalhes dos links diretos e o requisito de acesso para os canais fictícios ExampleTV-Movie e 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
Este CableOrSatelliteService
descreve o provedor de serviços ExampleTV Digital Service que tem cobertura nacional:
{
"@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
Essas entidades TelevisionChannel
indicam que a IPTV do ExampleTV Digital Service tem a programação ExampleTV Movie no canal ExTV-Movie
e a programação ExampleTV Comedy no canal 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"
}
}
Consulte a seção Exemplos de TV ao vivo para mais exemplos.
Transmissão de um filme em um canal de TV
Um filme é transmitido na rede de televisão Example TV (BroadcastService
) entre 17h e 19h em 12 de julho de 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"
}
]
}
}
}
Filme
{
"@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"
}
]
}
Consulte a seção Exemplos de eventos de TV ao vivo para mais exemplos.
Um jogo de esportes ao vivo transmitido on-line
Evento de transmissão
{
"@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"
}
}
Evento esportivo
{
"@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"
}
]
}
Consulte a seção Exemplos de esportes para mais exemplos.