SportsEvents – моделирование, лучшие практики и образцы фидов

Определение

SportsEvent — это тип сущности, представляющий спортивную игру или полный повтор спортивной игры.

Что можно смоделировать как спортивное мероприятие? Спортивная игра
Что нельзя смоделировать как SportsEvent?

Любая короткая форма, содержание клипа или плечевой контент. Вот список:

  • Случайный обзор или повтор коротких клипов
  • Превью игры
  • Основные моменты игры
  • Игровые ляпы
  • Видео интервью с игроками
  • Видео за сценой
  • Обзоры игр (созданные пользователями или иным образом)
  • Случайные короткие ролики из игры

Как мне справиться с таким содержимым плеч?

Распространенные случаи использования SportsEvents

С.Нет. Описание Требуемые объекты
Дело 1 Мне нужно смоделировать SportsEvent , которое является частью моего каталога видео по запросу. SportsEvent представляющий игру.
Случай 2

Мне нужно смоделировать SportsEvent , которое является частью моего каталога телетрансляций в прямом эфире и транслируется онлайн.

Игра транслируется через Интернет и не привязана к какому-либо каналу.

SportsEvent представляющий игру.

BroadcastEvent представляющий трансляцию игры.

Случай 3 Мне нужно смоделировать спортивное мероприятие, которое является частью моего каталога прямых телетрансляций и транслируется онлайн на канале.

SportsEvent представляющий игру.

Broadcast , посвященная трансляции игры.

Объекты BroadcastService , Organization , TelevisionChannel , CableOrSatelliteService , представляющие канал и линейку.

Случай 4 Комбинация предыдущих трех случаев. Если вы объединяете подмножество предыдущих вариантов использования, вам необходимо указать типы сущностей в соответствующем столбце «Требуемые сущности».

Лучшие практики и информация о нескольких проверках, которые мы проводим

С.Нет. Требуемые объекты Методические рекомендации
Дело 1

Мне нужно смоделировать SportsEvent , которое является частью моего каталога видео по запросу.

Требуемые объекты

  • SportsEvent представляющий игру

Рекомендации по моделированию

Глубокая ссылка на игру должна быть предоставлена ​​в сущности SportsEvent с использованием свойства SportsEvent.potentialAction.

Случай 2

Мне нужно смоделировать SportsEvent , которое является частью моего каталога прямых телетрансляций и транслируется в Интернете.

Игра транслируется через Интернет и не привязана к какому-либо каналу.

Требуемые объекты

  • SportsEvent представляющий игру
  • BroadcastEvent представляющий трансляцию игры

Рекомендации по моделированию

Подслучай 1. Игра доступна только в прямом эфире (а не как часть каталога «Видео по запросу»).

  • Необходимо предоставить сущность BroadcastEvent , чтобы поделиться расписанием трансляции.
  • Глубокая ссылка на игру должна быть предоставлена ​​в сущности BroadcastEvent с помощью свойства BroadcastEvent.potentialAction .
  • Поскольку игра доступна только для просмотра в реальном времени, сущность SportsEvent не должна иметь каких-либо глубоких ссылок. То есть SportsEvent.potentialAction не должен предоставляться.
  • BroadcastEvent.broadcastOfEvent необходимо указать, поскольку игра не привязана к какому-либо каналу трансляции.

Подслучай 2. Игра доступна в прямом эфире и является частью каталога «Видео по запросу» (это может произойти, когда транслируется повтор игры).

  • Необходимо предоставить сущность BroadcastEvent , чтобы поделиться расписанием трансляции.
  • Глубокая ссылка на игру должна быть предоставлена ​​в сущности BroadcastEvent с помощью свойства BroadcastEvent.potentialAction .
  • Поскольку игра доступна для просмотра в прямом эфире как часть каталога «Видео по запросу», сущность SportsEvent также должна иметь глубокую ссылку. Необходимо предоставить SportsEvent.potentialAction для перенаправления пользователя в каталог видео по запросу.
  • BroadcastEvent.publishedOn указывать нельзя, поскольку игра не привязана ни к одному каналу трансляции.

Проверки качества для выполнения

  • Установите для свойства BroadcastEvent.isLiveBroadcast значение true когда игра действительно активна. Не устанавливайте для свойства значение true для повтора игры.
  • Для BroadcastEvents , которые не являются активными, BroadcastEvent.startDate обычно не может быть раньше фактической startDate SportsEvent .
  • BroadcastEvents не должно быть publishedOn , поскольку трансляция транслируется в Интернете и не привязывается к каналу.
Случай 3

Мне нужно смоделировать SportsEvent , которое является частью моего каталога телетрансляций в прямом эфире и транслируется онлайн на канале.

Требуемые объекты

  • SportsEvent , представляющий игру.
  • BroadcastEvent , представляющий трансляцию игры.
  • Объекты BroadcastService , Organization , TelevisionChannel , CableOrSatelliteService , представляющие канал и линейку.

Рекомендации по моделированию

Подслучай 1. Игра доступна только в прямом эфире (а не как часть каталога «Видео по запросу»).

  • Поделитесь расписанием эфира. Для этого предоставьте сущность BroadcastEvent .
  • Представляет канал и линейку провайдеров. Для этого предоставьте сущности BroadcastService , Organization , TelevisionChannel и CableOrSatelliteService .
  • Предоставьте глубокую ссылку BroadcastService . Представьте его с помощью свойства BroadcastService.potentialAction .
  • Не указывайте свойство BroadcastEvent.potentialAction .
  • Поскольку игра доступна только для просмотра в реальном времени, сущность SportsEvent не должна иметь какой-либо глубокой ссылки. Например, не указывайте SportsEvent.potentialAction .
  • Укажите BroadcastEvent.publishedOn и укажите его на сущность BroadcastService , представляющую канал, на котором будет происходить вещание.

Подслучай 2. Игра доступна в прямом эфире и является частью каталога «Видео по запросу» (это может произойти, когда транслируется повтор игры).

  • Предоставьте сущность BroadcastEvent , чтобы поделиться расписанием трансляции.
  • Предоставьте сущности BroadcastService , Organization , TelevisionChannel и CableOrSatelliteService , представляющие канал и линейку поставщиков.
  • Предоставьте глубокую ссылку BroadcastService на канал, на котором будет происходить трансляция игры, представленный свойством BroadcastService.potentialAction .
  • Не указывайте свойство BroadcastEvent.potentialAction .
  • Поскольку игра доступна для просмотра в прямом эфире и является частью каталога видео по запросу, сущность SportsEvent также должна иметь глубокую ссылку. Например, можно предоставить SportsEvent.potentialAction , который перенаправляет пользователя в каталог «Видео по запросу».
  • Укажите BroadcastEvent.publishedOn и укажите его на сущность BroadcastService , представляющую канал, на котором будет происходить вещание.

Проверки качества для выполнения

  • Установите для свойства BroadcastEvent.isLiveBroadcast значение true когда игра действительно активна. Не устанавливайте для свойства значение true для повтора игры.
  • Для BroadcastEvents , которые не являются активными, BroadcastEvent.startDate обычно не может быть раньше фактической startDate SportsEvent .
  • Поскольку игра транслируется на канале, добавьте глубокую ссылку с помощью свойства BroadcastService.potentialAction . В этом случае сущность BroadcastEvent не может иметь глубокую ссылку.

Примеры

Случай 1. Спортивное мероприятие, входящее в каталог видео по запросу.


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

Случай 2. Спортивное мероприятие, включенное в прямой телекаталог и транслируемое онлайн.

Трансляция мероприятия


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

Спортивное мероприятие


{
  "@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. Спортивное мероприятие, которое является частью каталога прямых телетрансляций и транслируется онлайн на канале.

Трансляция мероприятия


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

Спортивное мероприятие


{
  "@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 объекты, как определено в разделе «Прямой ТВ-канал» в разделе «Концепции».

Как мне обрабатывать содержимое плеч?

Что считается содержимым плеч?
  • Случайный обзор или повтор коротких клипов
  • Превью игры
  • Основные моменты игры
  • Игровые ляпы
  • Видео интервью с игроками
  • Видео за сценой
  • Обзоры игр (созданные пользователями или иным образом)
  • Другие случайные короткие ролики из игры
С.Нет. Вариант использования Рекомендации по моделированию
Дело 1 В моем каталоге «Видео по запросу» есть плечевой контент.
  • Это не поддерживается и не может быть указано в фиде.
  • Однако ViTA можно использовать для предоставления части этого контента. Свяжитесь с представителем Google, чтобы узнать больше о ViTA .
Случай 2 В моем живом каталоге есть контент для плеч.

Подслучай 1. Контент доступен для прямой трансляции в Интернете.

  • Предоставьте сущность BroadcastEvent , чтобы поделиться расписанием трансляции.
  • Предоставьте глубокую ссылку на контент, используя свойство BroadcastEvent.potentialAction .
  • Добавьте любые связанные метаданные (к клипу) непосредственно в BroadcastEvent . Например, изображения можно добавлять с помощью свойства BroadcastEvent.image . Возрастные рейтинги можно добавить с помощью свойства BroadcastEvent.contentRating .
  • Поскольку этот тип контента не является SportsEvent , канал не должен содержать сущность SportsEvent . Таким образом, свойство broadcastOfEvent для BroadcastEvent предоставляться не должно.
  • Поскольку он не привязан к каналу, не указывайте publishedOn в BroadcastEvent .

Подслучай 2. Контент доступен для прямой трансляции в Интернете на канале.

  • Необходимо предоставить сущность BroadcastEvent , чтобы поделиться расписанием трансляции.
  • Необходимо указать сущности BroadcastService , Organization , TelevisionChannel , CableOrSatelliteService для представления канала и линейки поставщиков.
  • Глубокая ссылка на игру должна быть просто глубокой ссылкой BroadcastService , представленной свойством BroadcastService.potentialAction , которое необходимо предоставить.
  • Свойство BroadcastEvent.potentialAction указывать не следует.
  • Любые связанные метаданные (к клипу) должны быть добавлены непосредственно в BroadcastEvent . Например, изображения можно добавлять с помощью свойства BroadcastEvent.image . Возрастные рейтинги можно добавить с помощью свойства BroadcastEvent.contentRating .
  • Поскольку этот тип контента не является SportsEvent , канал не должен содержать сущность SportsEvent . Таким образом, свойство broadcastOfEvent для BroadcastEvent предоставляться не должно.
  • Поскольку он привязан к каналу, укажите publishedOn в BroadcastEvent .
Случай 3 У меня есть контент для плеч, доступный как в каталоге «Видео по запросу», так и в каталоге прямых телепередач.

Учитывая, что контент «Видео по запросу о спортивных плечах» сегодня не принимается в ленте, это похоже на случай 2. См. инструкции оттуда.

Часто задаваемые вопросы

Вопрос: Где я могу найти соответствующие спецификации для упомянутых ранее объектов?

О: Вы можете найти необходимые характеристики здесь.

Общая документация Связь
SportsEvent Связь
BroadcastService , Organization , TelevisionChannel , CableOrSatelliteService Связь
BroadcastEvent Связь

Вопрос: Существует ли более подробный документ, в котором объясняется, как моделировать каналы и составы прямых трансляций?

О: Да, более подробную информацию можно найти в разделе «Прямой ТВ-канал» в разделе «Концепции». Пожалуйста, не стесняйтесь запросить доступ для просмотра, если вы не можете просмотреть документ.

В: Поддерживает ли ViTA полные живые игры и полные повторы игр?

О: ViTA поддерживает метаданные для полных живых игр и полных повторов игр на основе лиг (в дополнение к подмножеству дополнительного контента).

  • Для партнеров, у которых уже есть функциональный канал Media Actions в Google или предложение «Видео по запросу» или прямая телетрансляция, Google требует, чтобы канал был расширен и включал также поддерживаемые типы SportsEvent .

    • В краткосрочной перспективе партнеры могут использовать ViTA для приема дополнительного контента. Поддержка всех типов контента через канал должна появиться в долгосрочной перспективе.
  • Для партнеров, у которых нет предложений «Видео по запросу» или прямых телетрансляций, но которые транслируют только спортивные состязания лиг и связанный с ними контент, ViTA — отличный вариант для начала. Свяжитесь с представителем Google, чтобы узнать больше о ViTA .