Wydarzenia sportowe – modelowanie, sprawdzone metody i przykładowy plik danych

Definicja

SportsEvent to typ elementu reprezentujący grę sportową lub jej pełne odtworzenie.

Co może być modelowane jako wydarzenie sportowe? Gra sportowa
Czego nie można modelować jako wydarzenie sportowe?

Wszelkie krótkie treści, klipy lub treści dodatkowe. Oto ich lista:

  • Losowe podsumowanie lub ponowne odtworzenie krótkich klipów
  • Wersje przedpremierowe gry
  • Najważniejsze momenty gry
  • Wpadki gier
  • Klipy wywiadu z zawodnikiem
  • Filmy zza kulis
  • Recenzje gier (generowane przez użytkowników lub inne)
  • losowe krótkie klipy z gry;

Jak radzić sobie z takimi treściami dodatkowymi?

Typowe przypadki użycia wydarzeń sportowych

S.No. Opis Wymagane encje
Przypadek 1 Chcę utworzyć model SportsEvent, który jest częścią mojego katalogu filmów na żądanie. SportsEvent reprezentuje mecz.
Przypadek 2

Chcę utworzyć model SportsEvent, który jest częścią mojego katalogu telewizji na żywo i jest transmitowany online

Gra jest przesyłana strumieniowo przez internet i nie jest powiązana z żadnym kanałem.

SportsEvent reprezentuje mecz.

BroadcastEvent – transmisja meczu.

Przypadek 3 Chcę utworzyć model wydarzenia sportowego, które jest częścią mojego katalogu telewizji na żywo i jest transmitowane online na kanale.

SportsEvent reprezentuje mecz.

Broadcast reprezentujący transmisję meczu.

elementy BroadcastService, Organization, TelevisionChannel i CableOrSatelliteService reprezentujące kanał i lineup.

Przypadek 4 Kombinacje 3 poprzednich przypadków. Jeśli łączysz podzbiór wcześniejszych przypadków użycia, musisz podać typy encji w odpowiedniej kolumnie „Wymagane encje”.

Sprawdzone metody i obserwacje w kilku kontrolach, które przeprowadzamy

Nr Wymagane encje Wskazówki
Przypadek 1

Chcę utworzyć model SportsEvent, który jest częścią mojego katalogu filmów na żądanie.

Wymagane encje

  • SportsEvent reprezentuje mecz

Wytyczne dotyczące modelowania

Precyzyjny link do gry należy podać w elemencie SportsEvent za pomocą właściwości SportsEvent.potentialAction.

Przypadek 2

Chcę utworzyć model SportsEvent, który jest częścią mojego katalogu telewizji na żywo i jest transmitowany online.

Gra jest przesyłana strumieniowo przez internet i nie jest powiązana z żadnym kanałem.

Wymagane encje

  • SportsEvent reprezentuje mecz
  • BroadcastEvent reprezentujący transmisję meczu

Wytyczne dotyczące modelowania

Podprzypadek 1: gra jest dostępna tylko na żywo (i nie jest dostępna w katalogu wideo na żądanie)

  • Aby udostępniać harmonogram transmisji, musisz podać element BroadcastEvent.
  • Precyzyjny link do gry należy podać w elemencie BroadcastEvent za pomocą właściwości BroadcastEvent.potentialAction.
  • Gra jest dostępna tylko do oglądania na żywo, więc element SportsEvent nie może mieć żadnych precyzyjnych linków. Oznacza to, że nie należy podawać właściwości SportsEvent.potentialAction.
  • Należy podać wartość BroadcastEvent.broadcastOfEvent, ponieważ rozgrywka nie jest powiązana z żadną transmisją na kanale.

Podprzypadek 2. Gra jest dostępna na żywo i znajduje się w katalogu filmów na żądanie (może się to zdarzyć, gdy transmitowana jest powtórka rozgrywki)

  • Aby udostępniać harmonogram transmisji, musisz podać element BroadcastEvent.
  • Precyzyjny link do gry należy podać w elemencie BroadcastEvent za pomocą właściwości BroadcastEvent.potentialAction.
  • Gra jest dostępna do oglądania na żywo w ramach katalogu filmów na żądanie, więc element SportsEvent musi też mieć precyzyjny link. Musisz podać właściwość SportsEvent.potentialAction, aby przekierować użytkownika do katalogu filmów na żądanie.
  • Nie można podać BroadcastEvent.publishedOn, ponieważ mecz nie jest powiązany z żadną transmisją na kanale.

Kontrole jakości, które należy przeprowadzić

  • Ustaw właściwość BroadcastEvent.isLiveBroadcast na true, gdy rozgrywka faktycznie jest aktywna. Nie ustawiaj właściwości true w przypadku ponownego uruchomienia gry.
  • W przypadku BroadcastEvents, które nie są opublikowane, wartość BroadcastEvent.startDate zwykle nie może być wcześniejsza niż faktyczna wartość startDate w kolumnie SportsEvent .
  • BroadcastEvents nie powinien mieć właściwości publishedOn , ponieważ transmisja jest przesyłana strumieniowo w internecie i nie jest połączona z kanałem.
Przypadek 3

Chcę utworzyć model SportsEvent, który jest częścią mojego katalogu programów telewizyjnych na żywo i jest transmitowany online na kanale.

Wymagane encje

  • SportsEvent reprezentujący grę.
  • BroadcastEvent reprezentujący transmisję meczu.
  • Elementy BroadcastService, Organization, TelevisionChannel i CableOrSatelliteService reprezentujące kanał i lineup.

Wytyczne dotyczące modelowania

Podprzypadek 1: gra jest dostępna tylko na żywo (i nie jest dostępna w katalogu wideo na żądanie)

  • Udostępnij harmonogram transmisji. Aby to zrobić, podaj encję BroadcastEvent.
  • Reprezentuj kanał i ofertę dostawców. Aby to zrobić, podaj encje BroadcastService, Organization, TelevisionChannel i CableOrSatelliteService .
  • Podaj precyzyjny link usługi BroadcastService. Przedstaw go za pomocą właściwości BroadcastService.potentialAction.
  • Nie podawaj właściwości BroadcastEvent.potentialAction.
  • Gra jest dostępna tylko do oglądania na żywo, więc element SportsEvent nie może mieć żadnego precyzyjnego linku. Nie podawaj na przykład elementu SportsEvent.potentialAction.
  • Podaj BroadcastEvent.publishedOn i wskaż element BroadcastService reprezentujący kanał, na którym odbędzie się transmisja.

Podprzypadek 2. Gra jest dostępna na żywo i znajduje się w katalogu filmów na żądanie (może się to zdarzyć, gdy transmitowana jest powtórka rozgrywki)

  • Aby udostępnić harmonogram transmisji, dodaj element BroadcastEvent.
  • Podaj elementy BroadcastService, Organization, TelevisionChannel i CableOrSatelliteService reprezentujące kanał i lineup dostawców.
  • Podaj precyzyjny link BroadcastService do kanału, na którym odbędzie się transmisja gry. Reprezentuje go właściwość BroadcastService.potentialAction.
  • Nie podawaj właściwości BroadcastEvent.potentialAction.
  • Gra jest dostępna do oglądania na żywo oraz w ramach katalogu filmów na żądanie, więc element SportsEvent musi też mieć precyzyjny link. Możesz na przykład podać wartość SportsEvent.potentialAction , która przekieruje użytkownika do katalogu filmów na żądanie.
  • Podaj BroadcastEvent.publishedOn i wskaż element BroadcastService reprezentujący kanał, na którym odbędzie się transmisja.

Kontrole jakości, które należy przeprowadzić

  • Ustaw właściwość BroadcastEvent.isLiveBroadcast na true, gdy rozgrywka faktycznie jest aktywna. Nie ustawiaj właściwości true w przypadku ponownego uruchomienia gry.
  • W przypadku BroadcastEvents, które nie są aktywne, wartość BroadcastEvent.startDate zwykle nie może być wcześniejsza niż rzeczywista wartość SportsEvent startDate.
  • Gra jest emitowana na kanale, więc dodaj precyzyjny link za pomocą właściwości BroadcastService.potentialAction. W tym przypadku BroadcastEvent element nie może mieć precyzyjnego linku.

Przykłady

Przypadek 1. Wydarzenie sportowe będące częścią katalogu filmów na żądanie


{
  "@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-17T10: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"
        }
      ]
    }
  }
}

Przypadek 2: wydarzenie sportowe, które jest częścią katalogu telewizji na żywo i jest transmitowane 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 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"
    }
  ]
}

Przypadek 3: wydarzenie sportowe, które jest częścią katalogu telewizji na żywo i jest transmitowane online na kanale

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",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "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 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 podmiotów zgodnie z definicją w sekcji Kanał telewizji na żywo w sekcji Pojęcia

Jak sobie radzić z treściami dodatkowymi?

Co kwalifikuje się jako treści dodatkowe?
  • Losowe podsumowanie lub ponowne odtworzenie krótkich klipów
  • Wersje przedpremierowe gry
  • Najważniejsze momenty gry
  • Wpadki gier
  • Klipy wywiadu z zawodnikiem
  • Filmy zza kulis
  • Recenzje gier (generowane przez użytkowników lub inne)
  • inne losowe krótkie klipy z gry.
Nr Przypadek użycia Wytyczne dotyczące modelowania
Przypadek 1 W moim katalogu filmów na żądanie mam treści dodatkowe.
  • Ta funkcja nie jest obsługiwana i nie może być podana w pliku danych.
  • Możesz jednak użyć ViTA, aby udostępnić podzbiór tych treści. Aby dowiedzieć się więcej o ViTA, skontaktuj się z przedstawicielem Google.
Przypadek 2 W katalogu kanałów mam treści dodatkowe

Podrzędny przypadek 1. Treści są dostępne do transmitowania na żywo w internecie

  • Aby udostępnić harmonogram transmisji, dodaj element BroadcastEvent.
  • Za pomocą właściwości BroadcastEvent.potentialAction podaj precyzyjny link do treści.
  • Dodaj powiązane metadane (do klipu) bezpośrednio do pliku BroadcastEvent . Na przykład obrazy można dodawać za pomocą właściwości BroadcastEvent.image . Kategorie wiekowe można dodawać za pomocą właściwości BroadcastEvent.contentRating .
  • Ponieważ ten typ treści nie jest typu SportsEvent, kanał nie może zawierać elementu SportsEvent. W związku z tym nie należy podawać właściwości broadcastOfEvent w elemencie BroadcastEvent .
  • Profil nie jest powiązany z żadnym kanałem, dlatego nie podawaj właściwości publishedOn w BroadcastEvent.

Podrzędny przypadek 2. Treści są dostępne do transmitowania na żywo w internecie na kanale

  • Aby udostępniać harmonogram transmisji, musisz podać element BroadcastEvent.
  • Aby reprezentować kanał i lineup dostawców, musisz podać elementy BroadcastService, Organization, TelevisionChannel i CableOrSatelliteService.
  • Precyzyjnym linkiem do gry musi być po prostu precyzyjny link BroadcastService reprezentowany przez właściwość BroadcastService.potentialAction .
  • Nie należy podawać właściwości BroadcastEvent.potentialAction.
  • Wszystkie powiązane metadane (do klipu) należy dodać bezpośrednio do BroadcastEvent. Obrazy można np. dodawać za pomocą właściwości BroadcastEvent.image. Kategorie wiekowe można dodawać za pomocą właściwości BroadcastEvent.contentRating.
  • Ponieważ ten typ treści nie jest typu SportsEvent, kanał nie może zawierać elementu SportsEvent. W związku z tym nie należy podawać właściwości broadcastOfEvent w elemencie BroadcastEvent.
  • Jest on powiązany z kanałem, dlatego podaj właściwość publishedOn w BroadcastEvent.
Przypadek 3 Mam treści dodatkowe dostępne zarówno w ramach katalogu wideo na żądanie, jak i telewizji na żywo

W związku z tym, że treści dodatkowe w ramach filmów na żądanie o sporcie nie są obecnie akceptowane w pliku danych, podobnie jak w przypadku nr 2. Zapoznaj się z odpowiednimi instrukcjami.

Często zadawane pytania

P: Gdzie znajdę powiązane specyfikacje w przypadku wspomnianych wcześniej elementów?

Odp.: Niezbędne specyfikacje znajdziesz tutaj.

Ogólna dokumentacja Link
SportsEvent Połącz
BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService Połącz
BroadcastEvent Połącz

P: Czy istnieje bardziej szczegółowy dokument, który wyjaśnia, jak modelować kanały i lineupy telewizji na żywo?

O: Tak. Więcej informacji znajdziesz w sekcji Kanał telewizji na żywo w sekcji Informacje. Jeśli nie możesz wyświetlić dokumentu, poproś o uprawnienia do wyświetlania.

P: Czy funkcja ViTA obsługuje również pełne odtworzenia rozgrywek na żywo oraz powtórki pełnych wersji?

O: ViTA obsługuje metadane dotyczące pełnych rozgrywek na żywo związanych z ligą oraz ponownych odtworzeń (a nie tylko treści dodatkowych).

  • W przypadku partnerów, którzy mają już w Google działający plik danych działań związanych z mediami, lub oferują reklamy wideo na żądanie lub telewizję na żywo, Google wymaga, aby plik danych rozwijał się i uwzględniał również obsługiwane typy SportsEvent.

    • W najbliższej perspektywie partnerzy mogą używać ViTA do przetwarzania treści dodatkowych. Obsługa wszystkich typów treści za pomocą pliku danych powinna być wdrażana w dłuższej perspektywie.
  • Dla partnerów, którzy nie oferują filmów na żądanie ani telewizji na żywo, ale oferują tylko wydarzenia sportowe ligowe i powiązane z nimi treści dodatkowe, ViTA jest doskonałym rozwiązaniem na początek. Aby dowiedzieć się więcej o ViTA, skontaktuj się z przedstawicielem Google.