SportsEvents - Modellazione, best practice e feed di esempio

Definizione

Un SportsEvent è un tipo di entità che rappresenta una partita o la ripetizione integrale di una partita.

Cosa può essere modellato come SportsEvent? Una partita
Cosa non può essere modellato come SportsEvent?

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

  • Riprodurre clip brevi in modo casuale o guardare di nuovo i clip
  • Anteprime della partita
  • Momenti salienti della partita
  • Blooper dei giochi
  • Clip delle interviste ai giocatori
  • Video dei dietro le quinte
  • Recensioni dei giochi (generate dagli utenti o meno)
  • Clip brevi casuali del gioco

Come faccio a gestire questi contenuti secondari?

Casi d'uso comuni per gli eventi sportivi

N. di serie Descrizione Entità richieste
Caso 1 Devo creare un modello di SportsEvent che fa parte del mio catalogo di video on demand. SportsEvent che rappresenta il gioco.
Caso 2

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

La partita viene trasmessa in streaming su internet e non è collegata a nessun canale.

SportsEvent che rappresenta il gioco.

BroadcastEvent che rappresenta la trasmissione della partita.

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

SportsEvent che rappresenta il gioco.

Broadcast che rappresenta la messa in onda della partita.

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

Caso 4 Combinazioni delle tre 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

N. di serie Entità richieste Linee guida
Caso 1

Devo creare un modello per un SportsEvent che fa parte del mio catalogo di Video on demand.

Entità richieste

  • SportsEvent che rappresenta il gioco

Linee guida per la definizione dei modelli

Il link diretto alla partita 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 del SportsEvent.startDate. Non è intenzione obbligatoria la fornitura dei dati sugli eventi sportivi con 14 giorni di anticipo; i dati sugli eventi possono essere inviati 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 creare un modello di SportsEvent che fa parte del mio catalogo di TV in diretta e viene trasmesso online.

La partita viene trasmessa in streaming su internet e non è collegata a nessun canale.

Entità richieste

  • SportsEvent che rappresenta il gioco
  • BroadcastEvent che rappresenta la messa in onda della partita

Linee guida per la definizione dei modelli

Caso secondario 1: la partita è disponibile solo in diretta (e non nel catalogo 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 visione in diretta, l'entità SportsEvent non deve avere link diretti. In altre parole, SportsEvent.potentialAction non deve essere fornito.
  • BroadcastEvent.broadcastOfEvent deve essere fornito perché la partita non è legata alla trasmissione di nessun canale.

Caso secondario 2: la partita è disponibile dal vivo e nel catalogo Video on demand (questo può accadere quando viene trasmessa la ripetizione di una partita)

  • L'entità BroadcastEvent deve essere fornita per condividere il programma della trasmissione.
  • Il link diretto al gioco deve essere fornito nell'entità BroadcastEvent utilizzando la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile per la visione in diretta nell'ambito del catalogo di video on demand, l'entità SportsEvent deve avere anche un link diretto. 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 è legata alla trasmissione di nessun canale.

Controlli di qualità da eseguire

  • Imposta la proprietà BroadcastEvent.isLiveBroadcast su true quando la partita è effettivamente in diretta. Non impostare la proprietà su true per la ripetizione di una partita.
  • Per i BroadcastEvents non in diretta, BroadcastEvent.startDate in genere non può essere precedente alla data e all'ora effettive di SportsEvent startDate.
  • BroadcastEvents non deve avere una proprietà publishedOn perché la trasmissione viene trasmessa su internet e non è associata a un canale.
Caso 3

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

Entità richieste

  • SportsEvent che rappresenta il gioco.
  • BroadcastEvent che rappresenta la messa in onda della partita.
  • BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService entità che rappresentano il canale e la programmazione.

Linee guida per la definizione dei modelli

Caso secondario 1: la partita è disponibile solo in diretta (e non nel catalogo Video on demand)

  • Condividere il programma della trasmissione. Per farlo, fornisci l'entità BroadcastEvent.
  • Rappresentare il canale e la selezione di canali del fornitore. A questo scopo, fornisci le entità BroadcastService, Organization, TelevisionChannel e CableOrSatelliteService .
  • Fornisci il link diretto a BroadcastService. Rappresentalo con la proprietà BroadcastService.potentialAction.
  • Non fornire la proprietà BroadcastEvent.potentialAction.
  • Poiché la partita è disponibile solo per la visione in diretta, l'entità SportsEvent non deve avere link diretti. Ad esempio, non fornire SportsEvent.potentialAction.
  • Fornisci BroadcastEvent.publishedOn e indirizzalo all'entità BroadcastService che rappresenta il canale su cui verrà trasmessa la trasmissione.

Caso secondario 2: la partita è disponibile dal vivo e nel catalogo di Video on demand (questo può accadere quando viene trasmessa la ripetizione 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 la selezione 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 visione 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 per reindirizzare l'utente al catalogo 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 diretta. Non impostare la proprietà su true per la ripetizione di una partita.
  • Per i BroadcastEvents non in diretta, BroadcastEvent.startDate solitamente non può essere precedente al SportsEvent reale.startDate
  • 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 link diretto.

Esempi

Caso 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"
        }
      ]
    }
  }
}

Caso 2: un evento sportivo che fa parte del catalogo di 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"
    }
  ]
}

Caso 3: un evento sportivo che fa parte del catalogo 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 entità come definite nella sezione Canale TV in diretta nella sezione Concetti

Come faccio a gestire i contenuti extra?

Che cosa si intende per contenuti extra?
  • Riprodurre clip brevi in modo casuale o guardare di nuovo i clip
  • Anteprime della partita
  • Momenti salienti della partita
  • Blooper dei giochi
  • Clip delle interviste ai giocatori
  • Video dei dietro le quinte
  • Recensioni dei giochi (generate dagli utenti o meno)
  • Altri clip brevi casuali del gioco
N. di serie Caso d'uso Linee guida per la definizione del modello
Caso 1 Ho contenuti correlati nel mio catalogo video on demand.
  • Questa opzione non è supportata e non può essere fornita nel feed.
  • ViTA può essere utilizzato per fornire un sottoinsieme di questi contenuti. Contatta il tuo rappresentante di Google per scoprire di più su ViTA.
Caso 2 Ho contenuti extra nel mio catalogo live

Caso secondario 1: i contenuti sono disponibili in live streaming su internet

  • Fornisci l'entità BroadcastEvent per condividere il programma della trasmissione.
  • Fornisci il link diretto dei contenuti 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 è SportsEvent, il feed non deve contenere un'entità SportsEvent. Di conseguenza, la proprietà broadcastOfEvent in BroadcastEvent non deve essere fornita.
  • Poiché non è associato a un canale, non fornire la proprietà publishedOn in BroadcastEvent.

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

  • L'entità BroadcastEvent deve essere fornita per condividere il programma della trasmissione.
  • Le entità BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService devono essere fornite per rappresentare il canale e la selezione del fornitore.
  • Il link diretto al gioco deve essere semplicemente il link diretto BroadcastService , rappresentato dalla proprietà BroadcastService.potentialAction , che deve essere fornita.
  • La proprietà BroadcastEvent.potentialAction non deve essere fornita.
  • Tutti i metadati associati (al clip) devono essere aggiunti direttamente al 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 è SportsEvent, il feed non deve contenere un'entità SportsEvent. Di conseguenza, 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 sia nel catalogo di TV in diretta

Poiché al momento i contenuti correlati agli sport nel pre-partita/nel post-partita dei video on demand non sono accettati nel feed, questo caso è simile al caso 2. Segui le istruzioni riportate.

Domande frequenti

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

R: puoi trovare le specifiche richieste qui.

Documentazione generale Link
SportsEvent Link
BroadcastService, Organization, TelevisionChannel e CableOrSatelliteService Link
BroadcastEvent Link

D: Esiste un documento più dettagliato che spiega come modellare le emittenti e le offerte di TV in diretta?

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

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

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

  • Per i partner che hanno già un feed di azioni multimediali funzionale con Google o che hanno un'offerta di video on demand o TV in diretta, Google richiede che il feed venga espanso e includa anche i tipi di SportsEvent supportati.

    • Per il breve periodo, i partner possono utilizzare ViTA per l'importazione dei contenuti secondari. 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 scoprire di più su ViTA.