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

Tanım

SportsEvent, bir spor maçını veya bir spor maçının tam tekrarını temsil eden bir varlık türüdür.

SportsEvent olarak ne modellenebilir? Spor oyunu
SportsEvent olarak modellenemeyenler

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

  • Rastgele özet veya tekrar kısa klipleri
  • Oyunun önizlemeleri
  • Maçın önemli anları
  • Oyunlardaki komik anlar
  • 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?

SportsEvents için yaygın kullanım alanları

S.No. Açıklama Gerekli Varlıklar
1. Örnek

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

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

SportsEvent oyunu temsil ediyor.

Maçın yayınını temsil eden BroadcastEvent.

2. senaryo Canlı TV kataloğumda yer alan ve bir kanalda online olarak yayınlanan bir SportsEvent modellemem gerekiyor.

SportsEvent oyunu temsil ediyor.

Maçın yayınını temsil eden BroadcastEvent.

BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService kanalı ve kanal listesini temsil eden varlıklar.

3. durum Önceki iki durumun kombinasyonları. Önceki kullanım alanlarını birleştirirseniz ilgili "Gerekli Varlıklar" sütununda listelenen tüm varlık türlerini sağlayın.

Yaptığımız birkaç kontrolle ilgili en iyi uygulamalar ve analizler

Spor etkinliklerini ve yayınlarını modellerken aşağıdaki yönergeler ve kalite kontrolleri geçerlidir.

Tüm SportsEvent entegrasyonlarında aşağıdaki kuralları uygulayın:

  • Tüm spor derin bağlantılarını SportsEvent.potentialAction öğesine yerleştirin: Maç düzeyindeki derin bağlantılar (WatchAction) (hem kanalsız canlı yayınlar hem de seç-izle video tekrarları için) yalnızca SportsEvent öğesinde (SportsEvent.potentialAction) bulunmalıdır. potentialAction öğesini hiçbir zaman SportsEvent öğesine referans veren bir BroadcastEvent öğesine yerleştirmeyin. (Etkinliğe özel derin bağlantısı olmayan doğrusal kanal yayınları için BroadcastService.potentialAction üzerinde kanal derin bağlantısını sağlayın.) Bir maçın birden fazla yayını varsa (ör. bölgesel feed'ler, ev sahibi veya deplasman yayınları, birden fazla dil ya da ayrı canlı ve seç-izle video tekrar URL'leri) SportsEvent.potentialAction içinde bir WatchAction nesnesi dizisi sağlayın.
  • Videodan önce gösterilen reklam penceresi (availabilityStarts): Yaklaşan maç kutularının ve maç izleme bildirimlerinin önceden gösterilebilmesi için SportsEvent.startDate (availabilityStarts <= SportsEvent.startDate - 14 days) tarihinden en az 14 gün önce SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts ayarlayın. Feed öğesini 14 gün önceden göndermeniz gerekmez. availabilityStarts zaman damgası SportsEvent.startDate tarihinden en az 14 gün önceye ayarlandığı sürece etkinlik verileri maç gününe daha yakın bir zamanda gönderilebilir.
  • Uzatma süresi (availabilityEnds): Canlı uzatma süreleri veya maç sonrası yayınlar sırasında derin bağlantının süresinin dolmaması için SportsEvent.endDate tarihinden sonra en az 2 ila 3 saatlik bir süre (availabilityEnds >= SportsEvent.endDate + 2 to 3 hours veya seç-izle video tekrar oynatma penceresinin sonuna kadar) belirleyin (SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds).
  • @id ve url şartları:
    • Farklı @id değerleri kullanın: BroadcastEvent.@id, SportsEvent.@id değerinden farklı olmalıdır.
    • url öğesini atla: BroadcastEvent veya SportsEvent varlıklarına url özelliği eklemeyin.
S.No. Gerekli Varlıklar Yönergeler
1. Örnek

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

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

Gerekli Varlıklar

  • Oyunu temsil eden SportsEvent
  • Maçın yayınını temsil eden BroadcastEvent

Modelleme kuralları

Alt durum 1: Maç yalnızca canlı olarak yayınlanıyor (seç-izle video kataloğunda yer almıyor)

  • Yayın programını paylaşmak için BroadcastEvent varlığını sağlayın, BroadcastEvent.broadcastOfEvent ile oyuna referans verin ve BroadcastEvent.location içinde yayın ülkesini belirtin.
  • SportsEvent öğesini kullanarak SportsEvent.potentialAction varlığında canlı yayın derin bağlantısını sağlayın (14 günlük videodan önce gösterilen reklam availabilityStarts ve 2-3 saatlik fazla mesai arabelleği availabilityEnds ile yapılandırılır).
  • BroadcastEvent.potentialAction, BroadcastEvent.url veya SportsEvent.url sağlamayın.
  • Oyun, doğrusal bir kanal olmadan internet üzerinden yayınlandığı için BroadcastEvent.publishedOn değerini sağlamayın.

Alt durum 2: Maç canlı olarak ve seç-izle video kataloğunun bir parçası olarak sunulur (ör. maçın tamamının tekrarları seç-izle video olarak sunulmaya devam eder)

  • Her yayının programını paylaşmak için BroadcastEvent öğesini sağlayın (BroadcastEvent.broadcastOfEvent öğesine referans vererek ve BroadcastEvent.location öğesini belirterek).
  • URL ve haklar aynıysa availabilityEnds öğesini seç-izle video penceresinin sonuna kadar uzatarak veya SportsEvent.potentialAction içinde ilgili actionAccessibilityRequirement pencereleriyle birlikte birden fazla WatchAction nesnesi sağlayarak hem canlı hem de seç-izle video oynatmayı SportsEvent.potentialAction üzerinde birleştirin.
  • BroadcastEvent.potentialAction, BroadcastEvent.url, SportsEvent.url veya BroadcastEvent.publishedOn sağlamayın.

Yapılacak kalite kontrolleri

  • Maç canlı yayınlandığında BroadcastEvent.isLiveBroadcast değerini boole true (tırnak işareti olmadan) olarak ayarlayın. Planlanmış bir tekrar yayını için false olarak ayarlayın.
  • Yayınlanmayan BroadcastEvent varlıklar için BroadcastEvent.startDate, SportsEvent.startDate tarihinden önce olmamalıdır.
  • Hem homeTeam hem de awayTeam için parentOrganization (Wikipedia sameAs URL'si ile) ekleyin.
2. senaryo

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

Gerekli Varlıklar

  • Oyunu temsil eden SportsEvent.
  • Maçın yayınını temsil eden BroadcastEvent.
  • BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService kanalı ve kanal listesini temsil eden varlıklar.

Modelleme kuralları

Alt durum 1: Maç yalnızca doğrusal kanalda canlı olarak yayınlanıyor (ve seç-izle video kataloğunda yer almıyor)

  • Yayının programını paylaşmak için BroadcastEvent varlığını sağlayın. BroadcastEvent.publishedOn, BroadcastService varlığına; BroadcastEvent.broadcastOfEvent, SportsEvent varlığına işaret etmeli ve BroadcastEvent.location, yayın ülkesini belirtmelidir.
  • BroadcastService, Organization, TelevisionChannel ve CableOrSatelliteService varlıklarını sağlayarak kanalı ve kanal listesini temsil edin. BroadcastService.potentialAction üzerinde kanalın derin bağlantısını kullanın.
  • Asla BroadcastEvent.potentialAction, BroadcastEvent.url veya SportsEvent.url bilgilerini vermeyin.
  • Oyuna özel doğrudan bir derin bağlantıyı da destekliyorsanız bunu SportsEvent.potentialAction üzerinde sağlayın. Oynatma yalnızca BroadcastService.potentialAction üzerindeki doğrusal kanal derin bağlantısı üzerinden yapılabiliyorsa SportsEvent.potentialAction öğesini atlayın.

Alt durum 2: Maç, bir kanalda canlı olarak ve seç-izle video kataloğunun bir parçası olarak yayınlanıyor

  • Kanal yayın akışını paylaşmak için BroadcastEvent varlığını (publishedOn, broadcastOfEvent ve location ile) sağlayın.
  • BroadcastService.potentialAction üzerinde kanal derin bağlantısıyla BroadcastService, Organization, TelevisionChannel ve CableOrSatelliteService varlıklarını sağlayın.
  • BroadcastEvent.potentialAction, BroadcastEvent.url veya SportsEvent.url bilgilerini hiçbir zaman paylaşmayın.
  • Etkinlik düzeyi/seç-izle video oynatma aralığı için SportsEvent varlığında SportsEvent.potentialAction sağlayın.

Yapılacak kalite kontrolleri

  • Maç canlı yayınlanırken BroadcastEvent.isLiveBroadcast değerini boole true (tırnak işareti olmadan) olarak, maç tekrarı için ise false olarak ayarlayın.
  • Yayınlanmayan BroadcastEvent varlıklar için BroadcastEvent.startDate, SportsEvent.startDate tarihinden önce olmamalıdır.
  • Hem homeTeam hem de awayTeam için parentOrganization (Wikipedia sameAs URL'si ile) ekleyin.

Örnekler

1. durum: Canlı TV kataloğunda yer alan ve internette yayınlanan bir spor etkinliği

Yayın etkinliği

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

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

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

Yayın etkinliği

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

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

BroadcastService, CableOrSatelliteService, TelevisionChannel ve Organization varlıkları, Kavramlar bölümündeki Canlı TV Kanalı bölümünde tanımlandığı şekilde kullanılmalıdır.

Yardımcı içerikleri nasıl yönetebilirim?

Yardımcı içerik olarak kabul edilen içerikler nelerdir?
  • Rastgele özet veya tekrar kısa klipleri
  • Oyunun önizlemeleri
  • Maçın önemli anları
  • Oyunlardaki komik anlar
  • 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. Örnek Seç-izle video kataloğumda yardımcı içerikler 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. senaryo Canlı kataloğumda yardımcı içerikler var

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

  • Yayın programını paylaşmak için BroadcastEvent varlığını sağlayın.
  • BroadcastEvent.potentialAction özelliğini kullanarak yardımcı içeriğin derin bağlantısını sağlayın (Bu istisna, feed'de SportsEvent varlığı bulunmadığından yalnızca bağımsız canlı yardımcı içerikler için geçerlidir).
  • İlişkili meta verileri (kliple ilgili) 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ığından 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 için publishedOn özelliğini sağlamayın.

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

  • Yayının programını paylaşmak için BroadcastEvent varlığı sağlanmalıdır.
  • BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService varlıkları, kanalı ve sağlayıcı kanal listesini temsil edecek şekilde sağlanmalıdır.
  • Oyunun derin bağlantısı, BroadcastService.potentialAction özelliğiyle temsil edilen BroadcastService derin bağlantısı olmalıdır. Bu özellik sağlanmalıdır.
  • BroadcastEvent.potentialAction özelliği sağlanmamalıdır.
  • Kliplerle 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ığından feed'de SportsEvent öğesi bulunmamalıdır. Bu nedenle, BroadcastEvent üzerindeki broadcastOfEvent özelliği sağlanmamalıdır.
  • Bir kanala bağlı olduğundan BroadcastEvent üzerinde publishedOn özelliğini sağlayın.
3. Örnek Seç-izle video ve canlı TV kataloğumda yardımcı içeriklerim var.

Seç-izle video spor destekleyici içerikleri şu anda feed'de kabul edilmediğinden bu durum 2. senaryoya benzer. Talimatları oradan inceleyin.

Sık Sorulan Sorular

S: Daha önce bahsedilen öğelerle ilgili 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 kanal listelerinin nasıl modelleneceğini açıklayan daha ayrıntılı bir belge var mı?

Y: Evet, Kavramlar bölümündeki Canlı TV Kanalı bölümünde daha fazla bilgi bulabilirsiniz. Dokümanı görüntüleyemiyorsanız görüntüleme erişimi isteğinde bulunabilirsiniz.

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

ViTA, lige dayalı tam canlı maçlar ve tam maç tekrarlarıyla ilgili meta verileri (ve yardımcı içeriklerin bir alt kümesini) destekler.

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

    • Kısa vadede iş ortakları, yardımcı içerik besleme için ViTA'yı kullanabilir. Feed aracılığıyla her tür içeriğin desteklenmesi uzun vadede kullanıma sunulmalıdır.
  • Seç-izle video veya canlı TV teklifi olmayan ancak yalnızca lige dayalı spor ve ilgili yardımcı içerikler sunan iş ortakları için ViTA, başlangıç için mükemmel bir seçenektir. ViTA hakkında daha fazla bilgi edinmek için Google temsilcinizle iletişime geçin.