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

Определение

Тип сущности SportsEvent представляет собой спортивную игру или полную запись спортивной игры.

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

Любые короткие видеоролики, клипы или материалы для просмотра на заднем плане. Вот список:

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

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

Типичные сценарии использования спортивных мероприятий

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

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

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

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

BroadcastEvent , обозначающее трансляцию игры.

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

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

Broadcast , представляющая собой показ игры.

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

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

Передовые методы и выводы из нескольких проверок, которые мы проводим.

№ п/п Необходимые сущности Руководящие принципы
Случай 1

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

Необходимые сущности

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

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

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

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

  • Установите значение параметра SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts не менее чем за 14 дней до даты начала события SportsEvent.startDate . Цель не состоит в том, чтобы обязать предоставлять данные о спортивном событии за 14 дней; данные о событии могут быть предоставлены позже. Однако значение availabilityStarts должно быть установлено не менее чем за 14 дней до события.
  • Установите значение параметра SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds после даты SportsEvent.endDate .
Случай 2

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

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

Необходимые сущности

  • SportsEvent представляющее игру.
  • BroadcastEvent , обозначающее показ игры.

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

Вариант 1: Игра доступна только в режиме реального времени (и не входит в каталог видео по запросу).

  • Для обмена расписанием трансляции необходимо предоставить объект BroadcastEvent .
  • Прямая ссылка на игру должна быть указана в сущности BroadcastEvent с помощью свойства BroadcastEvent.potentialAction .
  • Since the game is only available to view live, the SportsEvent entity must not have any deep links. That is, the SportsEvent.potentialAction must not be provided.
  • Необходимо указать параметр 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-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: Спортивное событие, входящее в каталог прямых телевизионных трансляций и транслируемое онлайн.

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


{
  "@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 определены в разделе Live TV Channel в подразделе Concepts.

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

Что считается содержимым плечевого пояса?
  • Случайный обзор или повтор коротких видеороликов.
  • Предварительные обзоры игры
  • Основные моменты игры
  • Игровые ляпы
  • Видеофрагменты интервью с игроками
  • Видео со съемок
  • Обзоры игр (созданные пользователями или иные)
  • Другие случайные короткие видеоролики из игры
№ п/п Вариант использования Рекомендации по моделированию
Случай 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 полные трансляции игр в прямом эфире и полные записи игр?

A: ViTA поддерживает метаданные для полных игр лиги в прямом эфире и полных повторов игр (в дополнение к подмножеству контента, доступного через боковые панели).

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

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