SportsEvents - Modellazione, best practice e feed di esempio

Definizione

Un SportsEvent è un tipo di entità che rappresenta una partita sportiva o la replica completa di una partita sportiva.

Che cosa può essere modellato come SportsEvent? Una partita di sport
Cosa non può essere modellato come SportsEvent?

Qualsiasi contenuto nel formato breve, clip o contenuto extra. Ecco l'elenco:

  • Riepilogo casuale o riproduzione di clip brevi
  • Anteprime della partita
  • Momenti salienti della partita
  • Gaffe di gioco
  • Clip di interviste ai giocatori
  • Video dei dietro le quinte
  • Recensioni dei giochi (generate dagli utenti o di altro tipo)
  • Clip brevi casuali del gioco

Come devo gestire questi contenuti extra?

Common Use-cases for SportsEvents

S.No. Descrizione Entità richieste
Caso 1 Devo modellare un SportsEvent che fa parte del mio catalogo di video on demand. SportsEvent che rappresenta il gioco.
Caso 2

Devo modellare un SportsEvent che fa parte del mio catalogo di TV in diretta e viene trasmesso in streaming online

Il gioco viene trasmesso in streaming su internet e non è associato a nessun canale.

SportsEvent che rappresenta il gioco.

BroadcastEvent che rappresenta la trasmissione della partita.

Caso 3 Devo modellare un evento sportivo che fa parte del mio catalogo di TV in diretta e che viene trasmesso in streaming online su un canale.

SportsEvent che rappresenta il gioco.

Broadcast che rappresenta la trasmissione della partita.

BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService entità che rappresentano il canale e la programmazione.

Scenario 4 Combinazioni dei tre casi precedenti. Se combini un sottoinsieme dei casi d'uso precedenti, devi fornire i tipi di entità nella colonna "Entità richieste" corrispondente.

Best practice e approfondimenti su alcuni controlli che eseguiamo

S.No. Entità richieste Linee guida
Caso 1

Devo modellare un SportsEvent che fa parte del mio catalogo di video on demand.

Entità richieste

  • SportsEvent che rappresenta il gioco

Linee guida per la modellazione

Il link diretto al gioco deve essere fornito nell'entità SportsEvent utilizzando la proprietà SportsEvent.potentialAction.

Controlli di qualità da eseguire

  • Imposta SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts almeno 14 giorni prima di SportsEvent.startDate. L'intenzione non è quella di imporre la fornitura di dati sugli eventi sportivi 14 giorni prima; i dati sugli eventi possono essere forniti in un secondo momento. Tuttavia, il valore availabilityStarts deve essere impostato almeno 14 giorni prima dell'evento.
  • Imposta SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds dopo SportsEvent.endDate.
Caso 2

Devo modellare un SportsEvent che fa parte del mio catalogo di TV in diretta e viene trasmesso in streaming online.

Il gioco viene trasmesso in streaming su internet e non è associato a nessun canale.

Entità richieste

  • SportsEvent che rappresenta il gioco
  • BroadcastEvent che rappresenta la trasmissione della partita

Linee guida per la modellazione

Scenario secondario 1: la partita è disponibile solo in diretta (e non fa parte del catalogo di video on demand)

  • L'entità BroadcastEvent deve essere fornita per condividere la programmazione della trasmissione.
  • Il link diretto al gioco deve essere fornito nell'entità BroadcastEvent utilizzando la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile solo per la visualizzazione dal vivo, l'entità SportsEvent non deve avere deep link. ovvero SportsEvent.potentialAction non deve essere fornito.
  • BroadcastEvent.broadcastOfEvent deve essere fornito perché il gioco non è legato ad alcuna trasmissione del canale.

Scenario 2: la partita è disponibile dal vivo e fa parte del catalogo di video on demand (ciò può accadere quando viene trasmessa la replica di una partita)

  • Per condividere la programmazione della trasmissione, è necessario fornire l'entità BroadcastEvent.
  • Il link diretto al gioco deve essere fornito nell'entità BroadcastEvent utilizzando la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile per la visualizzazione in diretta come parte del catalogo di video on demand, anche l'entità SportsEvent deve avere un link diretto. Il SportsEvent.potentialAction deve essere fornito per reindirizzare l'utente al catalogo di video on demand.
  • BroadcastEvent.publishedOn non deve essere fornito perché la partita non è associata ad alcuna trasmissione del canale.

Controlli di qualità da eseguire

  • Imposta la proprietà BroadcastEvent.isLiveBroadcast su true quando la partita è effettivamente in corso. Non impostare la proprietà su true per la replica di una partita.
  • Per i BroadcastEvents non live, BroadcastEvent.startDate in genere non può essere precedente al SportsEvent startDate effettivo.
  • BroadcastEvents non deve avere una proprietà publishedOn perché i flussi di trasmissione su internet e non sono associati a un canale.
Caso 3

Devo modellare un SportsEvent che fa parte del mio catalogo di TV in diretta e che viene trasmesso in streaming online su un canale.

Entità richieste

  • SportsEvent che rappresenta il gioco.
  • BroadcastEvent che rappresenta la trasmissione della partita.
  • BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService entità che rappresentano il canale e la selezione.

Linee guida per la modellazione

Scenario 1: la partita è disponibile solo in diretta (e non fa parte del catalogo di video on demand)

  • Condividere la programmazione della trasmissione. Per farlo, fornisci l'entità BroadcastEvent.
  • Rappresentano il canale e la selezione del fornitore. Per farlo, fornisci le entità BroadcastService, Organization, TelevisionChannel e CableOrSatelliteService .
  • Fornisci il link diretto BroadcastService. Rappresentalo con la proprietà BroadcastService.potentialAction.
  • Non fornire la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile solo per la visualizzazione live, l'entità SportsEvent non deve avere alcun link diretto. Ad esempio, non fornire SportsEvent.potentialAction.
  • Fornisci BroadcastEvent.publishedOn e indirizzalo all'entità BroadcastService che rappresenta il canale su cui verrà trasmessa la trasmissione.

Scenario 2: la partita è disponibile dal vivo e fa parte del catalogo di video on demand (ciò può accadere quando viene trasmessa la replica di una partita)

  • Fornisci l'entità BroadcastEvent per condividere il programma della trasmissione.
  • Fornisci le entità BroadcastService, Organization, TelevisionChannel e CableOrSatelliteService che rappresentano il canale e l'offerta del fornitore.
  • Fornisci il link diretto BroadcastService al canale su cui verrà trasmessa la partita, rappresentato dalla proprietà BroadcastService.potentialAction.
  • Non fornire la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile per la visualizzazione in diretta e fa parte del catalogo di video on demand, anche l'entità SportsEvent deve avere un link diretto. Ad esempio, è possibile fornire SportsEvent.potentialAction che reindirizza l'utente al catalogo di video on demand.
  • Fornisci BroadcastEvent.publishedOn e indirizzalo all'entità BroadcastService che rappresenta il canale su cui verrà trasmessa la trasmissione.

Controlli di qualità da eseguire

  • Imposta la proprietà BroadcastEvent.isLiveBroadcast su true quando la partita è effettivamente in corso. Non impostare la proprietà su true per la replica di una partita.
  • Per i BroadcastEvents non live, BroadcastEvent.startDate in genere non può essere precedente al SportsEvent startDate effettivo.
  • Poiché la partita viene trasmessa su un canale, aggiungi un link diretto utilizzando la proprietà BroadcastService.potentialAction. In questo caso, l'entità BroadcastEvent non può avere un deep link.

Esempi

Scenario 1: un evento sportivo che fa parte del catalogo di video on demand


{
  "@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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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"
    }
  ],
"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-01T10:00-08:00",
      "availabilityEnds": "2019-10-21T10:35:29Z",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
       },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}

Scenario 2: un evento sportivo che fa parte del catalogo TV in diretta e viene trasmesso in streaming online

Evento di trasmissione


{
  "@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 sportivo


{
  "@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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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"
    }
  ]
}

Scenario 3: un evento sportivo che fa parte del catalogo della TV in diretta e viene trasmesso in streaming online su un canale

Evento di trasmissione


{
  "@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",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "broadcastOfEvent": {
    "@type": "SportsEvent",
    "@id": "http://example.com/basketball/professional/final_game_6"
  }
}

Evento sportivo


{
  "@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": "2018-09-16T10:00-08:00",
  "endDate": "2018-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"
    }
  ]
}

BroadcastService, CableOrSatelliteService, TelevisionChannel, Organization come definito nella sezione Canale TV in diretta in Concetti

Come faccio a gestire i contenuti extra?

Cosa si intende per contenuti extra?
  • Riepilogo casuale o riproduzione di clip brevi
  • Anteprime della partita
  • Momenti salienti della partita
  • Gaffe di gioco
  • Clip di interviste ai giocatori
  • Video dei dietro le quinte
  • Recensioni dei giochi (generate dagli utenti o di altro tipo)
  • Altri brevi clip casuali del gioco
S.No. Caso d'uso Linee guida per la modellazione
Caso 1 Ho contenuti extra nel mio catalogo di video on demand.
  • Questo non è supportato e non può essere fornito nel feed.
  • ViTA può essere utilizzato per fornire un sottoinsieme di questi contenuti. Contatta il tuo rappresentante di Google per saperne di più su ViTA.
Caso 2 Ho contenuti extra nel mio catalogo live

Scenario secondario 1: i contenuti sono disponibili per lo streaming live su internet

  • Fornisci l'entità BroadcastEvent per condividere il programma della trasmissione.
  • Fornisci il link diretto del contenuto utilizzando la proprietà BroadcastEvent.potentialAction .
  • Aggiungi eventuali metadati associati (al clip) direttamente a BroadcastEvent . Ad esempio, le immagini possono essere aggiunte utilizzando la proprietà BroadcastEvent.image . Le classificazioni per età possono essere aggiunte utilizzando la proprietà BroadcastEvent.contentRating .
  • Poiché questo tipo di contenuti non è un SportsEvent, il feed non deve contenere un'entità SportsEvent. Pertanto, la proprietà broadcastOfEvent di BroadcastEvent non deve essere fornita.
  • Poiché non è associato a un canale, non fornire la proprietà publishedOn in BroadcastEvent.

Sottocaso 2: i contenuti sono disponibili per lo streaming live su internet su un canale

  • Per condividere la programmazione della trasmissione, è necessario fornire l'entità BroadcastEvent.
  • Le entità BroadcastService, Organization, TelevisionChannel e CableOrSatelliteService devono essere fornite per rappresentare il canale e la selezione del provider.
  • Il link diretto al gioco deve essere semplicemente il link diretto BroadcastService , rappresentato dalla proprietà BroadcastService.potentialAction , che deve essere fornito.
  • La proprietà BroadcastEvent.potentialAction non deve essere fornita.
  • Tutti i metadati associati (al clip) devono essere aggiunti direttamente all'elemento BroadcastEvent. Ad esempio, le immagini possono essere aggiunte utilizzando la proprietà BroadcastEvent.image. Le classificazioni per età possono essere aggiunte utilizzando la proprietà BroadcastEvent.contentRating.
  • Poiché questo tipo di contenuti non è un SportsEvent, il feed non deve contenere un'entità SportsEvent. Pertanto, la proprietà broadcastOfEvent in BroadcastEvent non deve essere fornita.
  • Poiché è associato a un canale, fornisci la proprietà publishedOn su BroadcastEvent.
Caso 3 Ho contenuti extra disponibili sia nel catalogo di video on demand che in quello della TV live

Poiché i contenuti extra sportivi video on demand non sono accettati nel feed oggi, questo caso è simile al caso 2. Consulta le istruzioni da lì.

Domande frequenti

D: Dove posso trovare le specifiche associate alle entità menzionate in precedenza?

R: Puoi trovare le specifiche richieste qui.

Documentazione complessiva Link
SportsEvent Link
BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService Link
BroadcastEvent Link

D: Esiste un documento più dettagliato che spieghi come modellare i canali TV in diretta e le programmazioni?

Sì, puoi trovare maggiori dettagli nella sezione TV in diretta in Concetti. Se non riesci a visualizzare il documento, non esitare a richiedere l'accesso in visualizzazione.

D: ViTA supporta anche le partite live complete e le repliche complete delle partite?

R: ViTA supporta i metadati delle partite complete in diretta e delle repliche delle partite basate su campionati (oltre a un sottoinsieme di contenuti secondari)

  • Per i partner che dispongono già di un feed Azioni multimediali funzionale con Google o che offrono video on demand o TV in diretta, Google richiede che il feed venga ampliato e includa anche i tipi di SportsEvent supportati.

    • Nel breve termine, i partner possono utilizzare ViTA per l'importazione di contenuti correlati. Il supporto di tutti i tipi di contenuti tramite il feed verrà implementato nel lungo periodo.
  • Per i partner che non offrono video on demand o TV in diretta, ma trasmettono solo sport basati su campionati e contenuti correlati, ViTA è un'ottima opzione per iniziare. Contatta il tuo rappresentante di Google per saperne di più su ViTA.