Spor Etkinlikleri - Modelleme, En İyi Uygulamalar ve Örnek Feed

Tanım

SportsEvent, bir spor müsabakasını veya bir spor müsabakasının tam tekrarını temsil eden bir öğe türüdür.

Hangi etkinlikler SportsEvent olarak modellenebilir? Spor müsabakaları
Neler SportsEvent olarak modellenemez?

Kısa içerikler, klip içerikleri veya yardımcı içerikler Liste şu şekildedir:

  • Rastgele özet veya kısa klipleri tekrar oynatma
  • Maç önizlemeleri
  • Maçın öne çıkan anları
  • Oyun hataları
  • Oyuncu röportajı klipleri
  • Kamera arkası videoları
  • Oyun yorumları (kullanıcı tarafından oluşturulan veya başka şekilde)
  • Oyundan rastgele kısa klipler

Bu tür yardımcı içerikleri nasıl ele almalıyım?

Common Use-cases for SportsEvents

S.No. Açıklama Gerekli Tüzel Kişiler
1. Durum Seç-izle video kataloğumda yer alan bir SportsEvent öğesini modellemem gerekiyor. SportsEvent oyunu temsil ediyor.
2. Durum

Canlı TV kataloğumda yer alan ve internette yayınlanan bir SportsEvent modellemem gerekiyor

Oyun, internet üzerinden yayınlanır ve herhangi bir kanala bağlı değildir.

SportsEvent oyunu temsil ediyor.

BroadcastEvent, maç yayınını temsil eder.

3. Durum Canlı TV kataloğumun bir parçası olan ve bir kanalda online olarak yayınlanan bir SportsEvent öğesi oluşturmam gerekiyor.

SportsEvent oyunu temsil ediyor.

Broadcast oyunun yayınlanmasını temsil eder.

BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService kanal ve yayın akışını temsil eden öğeler.

4. Durum Önceki üç durumun kombinasyonları. Önceki kullanım alanlarının bir alt kümesini birleştirirseniz öğe türlerini ilgili "Gerekli öğeler" sütununda sağlamanız gerekir.

En iyi uygulamalar ve yaptığımız birkaç kontrolle ilgili analizler

S.No. Gerekli öğeler Yönergeler
1. Durum

İsteğe bağlı video kataloğumda yer alan bir SportsEvent öğesini modellemem gerekiyor.

Gerekli Tüzel Kişiler

  • Oyunu temsil eden SportsEvent

Model oluşturma kuralları

Oyuna giden derin bağlantı, SportsEvent.potentialAction özelliği kullanılarak SportsEvent varlığında sağlanmalıdır.

Yapılacak kalite kontrolleri

  • SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts tarihini SportsEvent.startDate tarihinden en az 14 gün önce ayarlayın. Amaç, spor etkinliği verilerinin 14 gün önceden sağlanmasını zorunlu kılmak değildir. Etkinlik verileri daha sonra da gönderilebilir. Ancak, availabilityStarts değeri etkinlikten en az 14 gün önce ayarlanmalıdır.
  • SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds değerini SportsEvent.endDate değerinden sonra ayarlayın.
2. Durum

Canlı TV kataloğumda yer alan ve internette yayınlanan bir SportsEvent modellemem gerekiyor.

Oyun, internet üzerinden yayınlanır ve herhangi bir kanala bağlı değildir.

Gerekli Tüzel Kişiler

  • Oyunu temsil eden SportsEvent
  • BroadcastEvent maçın yayınlanmasını temsil eder.

Model oluşturma kuralları

Alt örnek 1: Maç yalnızca canlı olarak yayınlanır (ve istek üzerine video kataloğunda yer almaz)

  • Yayın programını paylaşmak için BroadcastEvent öğesi sağlanmalıdır.
  • Oyuna giden derin bağlantı, BroadcastEvent.potentialAction özelliği kullanılarak BroadcastEvent varlığında sağlanmalıdır.
  • Maç yalnızca canlı olarak izlenebildiğinden SportsEvent öğesinin derin bağlantısı olmamalıdır. Yani SportsEvent.potentialAction sağlanmamalıdır.
  • Oyun herhangi bir kanal yayınına bağlı olmadığı için BroadcastEvent.broadcastOfEvent sağlanmalıdır.

Alt durum 2: Maç, canlı olarak ve isteğe bağlı video kataloğunun bir parçası olarak yayınlanıyor (bu durum, maç tekrarı yayınlandığında yaşanabilir)

  • Yayın programını paylaşmak için BroadcastEvent varlığı sağlanmalıdır.
  • Oyuna giden derin bağlantı, BroadcastEvent.potentialAction özelliği kullanılarak BroadcastEvent varlığında sağlanmalıdır.
  • Maç, seç-izle video kataloğunda canlı olarak izlenebildiğinden SportsEvent tüzel kişiliğinin de derin bağlantısı olmalıdır. Kullanıcıyı isteğe bağlı video kataloğuna yönlendirmek için SportsEvent.potentialAction sağlanmalıdır.
  • Oyun herhangi bir kanal yayınına bağlı olmadığından BroadcastEvent.publishedOn sağlanmamalıdır.

Yapılacak kalite kontrolleri

  • Maç gerçekten başladığında BroadcastEvent.isLiveBroadcast özelliğini true olarak ayarlayın. Bir maç tekrarı için özelliği true olarak ayarlamayın.
  • Yayında olmayan BroadcastEvents için BroadcastEvent.startDate genellikle gerçek SportsEvent startDate tarihinden daha erken olamaz.
  • BroadcastEvents, internette yayınlandığı ve bir kanala bağlı olmadığı için publishedOn özelliği içermemelidir.
3. Durum

Canlı TV kataloğumda yer alan ve bir kanalda internet üzerinden yayınlanan SportsEvent oluşturmam gerekiyor.

Gerekli Tüzel Kişiler

  • SportsEvent oyunu temsil eden bir resim.
  • BroadcastEvent, maçın yayınlanmasını temsil eder.
  • BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService kanal ve yayın akışını temsil eden öğeler.

Model oluşturma kuralları

Alt durum 1: Maç yalnızca canlı olarak yayınlanır (ve istek üzerine video kataloğunda yer almaz)

  • Yayın programını paylaşma Bunun için BroadcastEvent varlığını sağlayın.
  • Kanalı ve sağlayıcı listesini temsil etme Bunun için BroadcastService, Organization, TelevisionChannel ve CableOrSatelliteService varlıklarını sağlayın.
  • BroadcastService derin bağlantısını sağlayın. BroadcastService.potentialAction özelliğiyle gösterin.
  • BroadcastEvent.potentialAction özelliğini göndermeyin.
  • Maç yalnızca canlı olarak izlenebildiğinden SportsEvent öğesinin derin bağlantısı olmamalıdır. Örneğin, SportsEvent.potentialAction bilgisini sağlamayın.
  • BroadcastEvent.publishedOn öğesini sağlayın ve bunu, BroadcastService yayın yapılacak kanalı temsil eden öğeye yönlendirin.

Alt durum 2: Maç, canlı olarak ve isteğe bağlı video kataloğunun bir parçası olarak yayınlanıyor (bu durum, maç tekrarı yayınlandığında yaşanabilir)

  • Yayın programını paylaşmak için BroadcastEvent öğesini sağlayın.
  • Kanala ve sağlayıcı listesine karşılık gelen BroadcastService, Organization, TelevisionChannel ve CableOrSatelliteService öğelerini sağlayın.
  • Oyun yayınının yapılacağı kanala ait BroadcastService derin bağlantısını, BroadcastService.potentialAction özelliğiyle temsil edilen şekilde sağlayın.
  • BroadcastEvent.potentialAction özelliğini belirtmeyin.
  • Maç canlı olarak ve seç-izle video kataloğunda izlenebildiğinden SportsEvent öğesinin de derin bağlantısı olmalıdır. Örneğin, kullanıcıyı talep üzerine video kataloğuna yönlendiren SportsEvent.potentialAction sağlanabilir.
  • BroadcastEvent.publishedOn öğesini sağlayın ve bunu, BroadcastService yayın yapılacak kanalı temsil eden öğeye yönlendirin.

Yapılacak kalite kontrolleri

  • Oyun gerçekten canlı olduğunda BroadcastEvent.isLiveBroadcast özelliğini true olarak ayarlayın. Bir maç tekrarı için özelliği true olarak ayarlamayın.
  • Yayında olmayan BroadcastEvents için BroadcastEvent.startDate, genellikle gerçek SportsEvent startDate tarihinden daha erken olamaz.
  • Maç bir kanalda yayınlandığı için BroadcastService.potentialAction özelliğini kullanarak derin bağlantı ekleyin. Bu durumda BroadcastEvent öğesinin derin bağlantısı olamaz.

Örnekler

1. örnek: Seç-izle video kataloğunda yer alan bir spor etkinliği


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

2. örnek: Canlı TV kataloğunda yer alan ve internet üzerinden yayınlanan bir spor etkinliği

Yayın etkinliği


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

Spor etkinliği


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

3. örnek: Canlı TV kataloğunda yer alan ve bir kanalda online olarak yayınlanan bir spor etkinliği

Yayın etkinliği


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

Spor etkinliği


{
  "@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 Concepts bölümündeki Canlı TV Kanalı altında tanımlanan öğeler

Yardımcı içerikleri nasıl ele almalıyım?

Hangi içerikler yardımcı içerik olarak değerlendirilir?
  • Rastgele özet veya kısa klipleri tekrar oynatma
  • Maç önizlemeleri
  • Maçın öne çıkan anları
  • Oyun hataları
  • Oyuncu röportajı klipleri
  • Kamera arkası videoları
  • Oyun yorumları (kullanıcı tarafından oluşturulan veya başka şekilde)
  • Oyundan diğer rastgele kısa klipler
S.No. Kullanım alanı Modelleme yönergeleri
1. Durum Seç-izle video kataloğumda yardımcı içerik var.
  • Bu durum desteklenmez ve feed'de sağlanamaz.
  • Ancak bu içeriğin bir alt kümesini sağlamak için ViTA kullanılabilir. ViTA hakkında daha fazla bilgi edinmek için Google temsilcinizle iletişime geçin.
2. Durum Canlı kataloğumda yardımcı içerikler var

Alt durum 1: İçerik, internette canlı olarak yayınlanabilir

  • Yayın programını paylaşmak için BroadcastEvent öğesini sağlayın.
  • BroadcastEvent.potentialAction özelliğini kullanarak içeriğin derin bağlantısını sağlayın.
  • İlişkili meta verileri (klipe) doğrudan BroadcastEvent öğesine ekleyin. Örneğin, BroadcastEvent.image özelliği kullanılarak resimler eklenebilir. Yaş derecelendirmeleri, BroadcastEvent.contentRating özelliği kullanılarak eklenebilir.
  • Bu içerik türü SportsEvent olmadığı için feed'de SportsEvent öğesi bulunmamalıdır. Bu nedenle, BroadcastEvent üzerindeki broadcastOfEvent özelliği sağlanmamalıdır.
  • Bir kanala bağlı olmadığından BroadcastEvent üzerinde publishedOn özelliğini sağlamayın.

2. alt durum: İçerik, internette bir kanalda canlı olarak yayınlanabilir bir kanalda

  • Yayın programını paylaşmak için BroadcastEvent varlığı sağlanmalıdır.
  • BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService öğeleri, kanalı ve sağlayıcı listesini temsil etmek için sağlanmalıdır.
  • Oyuna giden derin bağlantı, BroadcastService derin bağlantısı olmalı ve BroadcastService.potentialAction özelliğiyle gösterilmelidir. Bu özellik sağlanmalıdır.
  • BroadcastEvent.potentialAction özelliği sağlanmamalıdır.
  • Klip ile ilişkili tüm meta veriler doğrudan BroadcastEvent öğesine eklenmelidir. Örneğin, BroadcastEvent.image özelliği kullanılarak resimler eklenebilir. Yaş derecelendirmeleri, BroadcastEvent.contentRating özelliği kullanılarak eklenebilir.
  • Bu içerik türü SportsEvent olmadığı için feed'de SportsEvent öğesi bulunmamalıdır. Bu nedenle, BroadcastEvent üzerindeki broadcastOfEvent özelliği sağlanmamalıdır.
  • Bir kanala bağlı olduğundan publishedOn özelliğini BroadcastEvent üzerinde sağlayın.
3. Durum Hem seç-izle video hem de canlı TV kataloğunda yardımcı içeriklerim var.

Seç-izle spor içeriklerinin şu anda feed'de kabul edilmediği göz önüne alındığında bu durum 2. örneğe benzer. Talimatları buradan inceleyin.

Sık Sorulan Sorular

S: Daha önce bahsedilen öğelerle ilişkili spesifikasyonları nerede bulabilirim?

Y: Gerekli spesifikasyonları burada bulabilirsiniz.

Genel belgeler Bağlantı
SportsEvent Bağlantı
BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService Bağlantı
BroadcastEvent Bağlantı

S: Canlı TV kanallarının ve yayın akışlarının nasıl modelleneceğini açıklayan daha ayrıntılı bir belge var mı?

Y: Evet, daha fazla bilgiyi Kavramlar bölümündeki Canlı TV Kanalı altında bulabilirsiniz. Belgeyi görüntüleyemiyorsanız lütfen görüntüleme erişimi isteğinde bulunun.

S: ViTA, maçların tamamını ve maç tekrarlarının tamamını da destekliyor mu?

ViTA, lig bazlı tam canlı maçlar ve tam maç tekrarlarındaki meta verileri (bir alt küme yardımcı içeriğe ek olarak) destekler.

  • Google ile işlevsel bir medya işlemleri feed'i olan veya seç izle video ya da canlı TV teklifi sunan iş ortakları için Google, feed'in genişletilerek desteklenen SportsEvent türlerini de içermesini zorunlu kılar.

    • Kısa vadede iş ortakları, yardımcı içerik beslemesi için ViTA'yı kullanabilir. Feed üzerinden tüm içerik türlerinin desteklenmesi uzun vadede kullanıma sunulacaktır.
  • Talebe bağlı video veya canlı TV teklifi olmayan ancak yalnızca lige dayalı spor ve ilgili yardımcı içerikler yayınlayan iş ortakları için ViTA, başlangıçta kullanılabilecek harika bir seçenektir. ViTA hakkında daha fazla bilgi edinmek için Google temsilcinizle iletişime geçin.