Definição
Um SportsEvent é um tipo de entidade que representa um jogo esportivo ou uma reprise
completa de um jogo esportivo.
| O que pode ser modelado como um SportsEvent? | Um jogo de esportes |
| O que não pode ser modelado como um SportsEvent? |
Qualquer conteúdo de formato curto, clipe ou conteúdo extra. Confira a lista:
|
Casos de uso comuns para SportsEvents
| S.No. | Descrição | Entidades obrigatórias |
|---|---|---|
| Caso 1 |
Preciso modelar um O jogo é transmitido pela Internet e não está vinculado a nenhum canal. |
|
| Caso 2 |
Preciso modelar um SportsEvent que faz parte do meu catálogo de TV ao vivo
e é transmitido on-line em um canal.
|
|
| Caso 3 | Combinações dos dois casos anteriores. | Se você combinar os casos de uso anteriores, forneça todos os tipos de entidade listados na coluna "Entidades necessárias" correspondente. |
Práticas recomendadas e insights sobre algumas verificações que fazemos
As diretrizes e verificações de qualidade a seguir se aplicam ao modelar eventos esportivos e as transmissões deles.
Posicionamento de links diretos e períodos de disponibilidade (actionAccessibilityRequirement)
Aplique as seguintes regras em todas as integrações do SportsEvent:
- Coloque todos os links diretos de esportes em
SportsEvent.potentialAction: os links diretos no nível do jogo (WatchAction), tanto para transmissões ao vivo sem canal quanto para replays de vídeo on demand, precisam residir exclusivamente na entidadeSportsEvent(SportsEvent.potentialAction). Nunca coloquepotentialActionem umBroadcastEventque faça referência a umSportsEvent. Para transmissões de canais lineares sem um link direto específico do evento, forneça o link direto do canal emBroadcastService.potentialAction. Se um jogo tiver várias transmissões (por exemplo, feeds regionais, transmissões em casa ou fora, vários idiomas ou URLs de replay ao vivo e de vídeo on demand separados), forneça uma matriz de objetosWatchActionemSportsEvent.potentialAction. - Janela contínua (
availabilityStarts): definaSportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStartspelo menos 14 dias antes deSportsEvent.startDate(availabilityStarts <= SportsEvent.startDate - 14 days) para que os blocos de jogos futuros e as notificações de sintonização apareçam com antecedência. Não é necessário enviar a entidade do feed com 14 dias de antecedência. Os dados de eventos podem ser enviados mais perto do dia do jogo, desde que a marcação de tempoavailabilityStartsseja definida pelo menos 14 dias antes deSportsEvent.startDate. - Buffer de prorrogação (
availabilityEnds): definaSportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEndsdepois deSportsEvent.endDatecom um buffer de pelo menos 2 a 3 horas (availabilityEnds >= SportsEvent.endDate + 2 to 3 hoursou até o fim da janela de repetição do vídeo on demand) para que o link direto não expire durante prorrogações ao vivo ou cobertura pós-jogo. - Requisitos de
@ideurl:- Use valores
@iddistintos:BroadcastEvent.@idprecisa ser diferente deSportsEvent.@id. - Omitir
url: não inclua uma propriedadeurlem entidadesBroadcastEventouSportsEvent.
- Use valores
| S.No. | Entidades obrigatórias | Diretrizes |
|---|---|---|
| Caso 1 |
Preciso modelar um O jogo é transmitido pela Internet e não está vinculado a nenhum canal. Entidades obrigatórias
|
Diretrizes de modelagem Subcaso 1: o jogo está disponível apenas ao vivo (e não como parte do catálogo de vídeo on demand)
Subcaso 2: o jogo está disponível ao vivo e como parte do catálogo de vídeo on demand (por exemplo, quando as repetições completas do jogo permanecem disponíveis on demand)
Verificações de qualidade a serem realizadas
|
| Caso 2 |
Preciso modelar um Entidades obrigatórias
|
Diretrizes de modelagem Subcaso 1: o jogo está disponível apenas ao vivo no canal linear (e não como parte do catálogo de vídeo on demand)
Subcaso 2: o jogo está disponível ao vivo em um canal e como parte do catálogo de vídeo on demand
Verificações de qualidade a serem realizadas
|
Exemplos
Caso 1: um evento esportivo que faz parte de um catálogo de TV ao vivo e é transmitido on-line
Evento de transmissão
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live_event/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": "2019-09-16T10:00-08:00",
"endDate": "2019-09-16T13:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": true,
"broadcastOfEvent": {
"@type": "SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6"
},
"location": {
"@type": "Country",
"name": "US"
}
}
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 at 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": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
},
"athlete": [
{
"@type": "Person",
"name": "John Doe"
}
]
},
"awayTeam": {
"@type": "SportsTeam",
"name": "Team A",
"sport": "https://en.wikipedia.org/wiki/Basketball",
"parentOrganization": {
"@type": "SportsOrganization",
"name": "Professional Basketball League",
"sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
},
"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": "EP000194303282"
}
],
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/pbl_finals_game_6?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": "2019-09-01T10:00-08:00",
"availabilityEnds": "2019-09-16T16:00-08:00",
"requiresSubscription": {
"@type": "MediaSubscription",
"name": "Example Package",
"commonTier": true,
"@id": "http://www.example.com/example_package"
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
}
}
Caso 2: um evento esportivo que faz parte de um catálogo de TV ao vivo e é transmitido on-line em um canal
Evento de transmissão
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live_event/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": "2019-09-16T10:00-08:00",
"endDate": "2019-09-16T13:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": true,
"publishedOn": {
"@type": "BroadcastService",
"@id": "http://example.com/stations/example_tv"
},
"broadcastOfEvent": {
"@type": "SportsEvent",
"@id": "http://example.com/basketball/professional/final_game_6"
},
"location": {
"@type": "Country",
"name": "US"
}
}
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 at 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": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
},
"athlete": [
{
"@type": "Person",
"name": "John Doe"
}
]
},
"awayTeam": {
"@type": "SportsTeam",
"name": "Team A",
"sport": "https://en.wikipedia.org/wiki/Basketball",
"parentOrganization": {
"@type": "SportsOrganization",
"name": "Professional Basketball League",
"sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
},
"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": "EP000194303282"
}
]
}
Entidades BroadcastService, CableOrSatelliteService, TelevisionChannel e
Organization, conforme definido na seção
Canal de TV ao vivo em
Conceitos.
Como lidar com conteúdo extra?
| O que é considerado conteúdo extra? |
|
| S.No. | Caso de uso | Diretrizes de modelagem |
|---|---|---|
| Caso 1 | Tenho conteúdo extra no meu catálogo de vídeos on demand. | |
| Caso 2 | Tenho conteúdo extra no meu catálogo ao vivo |
Subcaso 1: o conteúdo está disponível para transmissão ao vivo na Internet
Subcaso 2: o conteúdo está disponível para transmissão ao vivo na Internet em um canal
|
| Caso 3 | Tenho conteúdo extra disponível como parte do catálogo de vídeo on demand e de TV ao vivo |
Como o conteúdo extra de esportes em vídeo on demand não é aceito no feed atualmente, esse caso é semelhante ao 2. Siga as instruções. |
Perguntas frequentes
P: Onde posso encontrar as especificações associadas às entidades mencionadas anteriormente?
R: Confira as especificações necessárias aqui.
| Documentação geral | Link |
|---|---|
SportsEvent
|
Link |
BroadcastService, Organization, TelevisionChannel
, CableOrSatelliteService
|
Link |
BroadcastEvent
|
Link |
P: Existe um documento mais detalhado que explica como modelar os canais e as programações de TV ao vivo?
R: Sim, você encontra mais detalhes na seção Canal de TV ao vivo em Conceitos. Se não conseguir acessar o documento, solicite acesso de visualização.
P: O ViTA também oferece suporte a jogos ao vivo e replays completos?
R: O ViTA é compatível com metadados em jogos completos ao vivo e reprises de jogos completos baseados em ligas (além de um subconjunto de conteúdo extra).
Para parceiros que já têm um feed de ações de mídia funcional com o Google ou uma oferta de vídeo on demand ou TV ao vivo, o Google exige que o feed seja expandido e inclua também os tipos de
SportsEventcompatíveis.- No curto prazo, os parceiros podem usar o ViTA para processamento de conteúdo extra. O suporte a todos os tipos de conteúdo pelo feed será lançado a longo prazo.
Para parceiros que não oferecem vídeo on demand ou TV ao vivo, mas transmitem apenas esportes baseados em ligas e conteúdo extra relacionado, o ViTA é uma ótima opção para começar. Entre em contato com seu representante do Google para saber mais sobre o ViTA.