Определение
SportsEvent – это тип объекта, представляющий спортивную игру или ее полную запись.
| Какие события можно размечать как SportsEvent? | Спортивная игра |
| Что нельзя размечать как SportsEvent? |
Короткие видео, клипы и дополнительный контент. Вот список:
|
Примеры использования разметки SportsEvent
| S.No. | Описание | Обязательные объекты |
|---|---|---|
| Пример 1 |
Мне нужно смоделировать Игра транслируется через интернет и не привязана к какому-либо каналу. |
|
| Пример 2 |
Мне нужно смоделировать SportsEvent, который входит в мой каталог онлайн-телевидения и транслируется онлайн на канале.
|
|
| Пример 3 | Комбинации двух предыдущих случаев. | Если вы объединяете описанные выше варианты использования, укажите все типы объектов, перечисленные в соответствующем столбце "Обязательные объекты". |
Рекомендации и информация о некоторых проверках, которые мы выполняем
Ниже приведены рекомендации и проверки качества, которые применяются при моделировании спортивных событий и их трансляций.
Размещение ссылок на контент и периоды доступности (actionAccessibilityRequirement)
Применяйте следующие правила ко всем интеграциям SportsEvent:
- Размещайте все ссылки на контент в приложении, связанные со спортом, в объектах
SportsEvent.potentialAction. Ссылки на контент в приложении на уровне игры (WatchAction) – как для прямых трансляций без каналов, так и для повторов видео по запросу – должны находиться исключительно в объектеSportsEvent(SportsEvent.potentialAction). Никогда не размещайтеpotentialActionв объектеBroadcastEvent, который ссылается наSportsEvent.BroadcastService.potentialActionЕсли у игры несколько трансляций (например, региональные, домашние или выездные, на разных языках или отдельные URL для прямых трансляций и видео по запросу), укажите массив объектовWatchActionвSportsEvent.potentialAction. - Период до начала трансляции (
availabilityStarts). Установите значениеSportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStartsне менее 14 дней доSportsEvent.startDate(availabilityStarts <= SportsEvent.startDate - 14 days), чтобы карточки предстоящих игр и уведомления о начале трансляции появлялись заранее. Объект фида не нужно отправлять за 14 дней. Данные о событии можно передать ближе к дате игры, если временная меткаavailabilityStartsустановлена не позднее чем за 14 дней доSportsEvent.startDate. - Буфер на случай дополнительного времени (
availabilityEnds). Установите значениеSportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEndsпослеSportsEvent.endDateс буфером не менее 2–3 часов (availabilityEnds >= SportsEvent.endDate + 2 to 3 hoursили до конца окна повтора видео по запросу), чтобы ссылка на контент не перестала работать во время дополнительного времени или послематчевого освещения. - Требования к
@idиurl:- Используйте разные значения
@id. ЗначениеBroadcastEvent.@idдолжно отличаться отSportsEvent.@id. - Не указывайте свойство
url. Не добавляйте свойствоurlв объектыBroadcastEventилиSportsEvent.
- Используйте разные значения
| S.No. | Обязательные объекты | Правила |
|---|---|---|
| Пример 1 |
Мне нужно смоделировать Игра транслируется через интернет и не привязана к какому-либо каналу. Обязательные объекты
|
Рекомендации по моделированию Вариант 1. Игра доступна только в прямом эфире (и не входит в каталог видео по запросу)
Вариант 2. Игра доступна в прямом эфире и в каталоге видео по запросу (например, когда полные записи игр остаются доступными по запросу)
Проверка качества
|
| Пример 2 |
Мне нужно смоделировать Обязательные объекты
|
Рекомендации по моделированию Вариант 1. Игра доступна только в прямом эфире на телеканале (и не входит в каталог видео по запросу)
Вариант 2. Игра доступна в прямом эфире на канале и в каталоге видео по запросу
Проверка качества
|
Примеры
Пример 1. Спортивное мероприятие, которое входит в каталог онлайн-телевидения и транслируется в интернете
Трансляция мероприятия
{
"@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"
}
}
Спортивное мероприятие
{
"@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. Спортивное мероприятие, которое входит в каталог онлайн-телевидения и транслируется на канале.
Трансляция мероприятия
{
"@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"
}
}
Спортивное мероприятие
{
"@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 и Organization, как описано в разделе Онлайн-телеканал в разделе «Основные понятия».
Как работать с дополнительным контентом?
| Что такое дополнительный контент? |
|
| S.No. | Пример использования | Рекомендации по моделированию |
|---|---|---|
| Пример 1 | В моем каталоге видео по запросу есть дополнительный контент. | |
| Пример 2 | В моем каталоге есть дополнительный контент |
Вариант 1. Контент доступен для прямой трансляции в интернете
Вариант 2. Контент доступен для прямой трансляции в интернете на канале
|
| Пример 3 | В моем каталоге есть дополнительный контент, доступный как в формате видео по запросу, так и в виде онлайн-телевидения. |
Поскольку дополнительный спортивный контент в формате видео по запросу сейчас не принимается в фиде, этот случай похож на второй. и следуйте инструкциям. |
Часто задаваемые вопросы
Где найти спецификации для упомянутых выше объектов?
Ознакомиться с требованиями можно здесь.
| Общая документация | Ссылка |
|---|---|
SportsEvent
|
Ссылка |
BroadcastService, Organization, TelevisionChannel
, CableOrSatelliteService
|
Ссылка |
BroadcastEvent
|
Ссылка |
Есть ли более подробный документ, в котором объясняется, как моделировать онлайн-телеканалы и сетки вещания?
Да. Подробную информацию вы найдете в разделе Канал онлайн-телевидения в разделе «Основные понятия». Если у вас нет доступа к документу, запросите его.
Поддерживает ли ViTA полные трансляции и записи игр?
ViTA поддерживает метаданные для полных прямых трансляций и записей игр, проводимых в рамках лиг, а также для некоторых дополнительных материалов.
Если у вас уже есть фид медиадействий, который вы используете в Google, или вы предлагаете видео по запросу или онлайн-телевидение, вам нужно расширить фид и включить в него поддерживаемые типы
SportsEvent.- В краткосрочной перспективе партнеры могут использовать ViTA для загрузки дополнительного контента. Поддержка всех типов контента в фиде будет реализована в долгосрочной перспективе.
Если у вас нет видео по запросу или онлайн-телевидения, а есть только спортивные трансляции и связанный с ними дополнительный контент, ViTA – отличный вариант для начала. Чтобы узнать больше о ViTA, обратитесь к представителю Google.