体育活动 - 建模、最佳做法和示例 Feed

定义

SportsEvent 是一种实体类型,表示体育赛事或体育赛事的完整重放。

哪些内容可以建模为 SportsEvent? 体育赛事
哪些内容无法建模为 SportsEvent?

任何短视频或剪辑内容或随播内容。列表如下:

  • 随机播放精彩集锦或重放短视频片段
  • 游戏预览
  • 比赛精彩集锦
  • 游戏出糗片段
  • 球员访谈片段
  • 幕后花絮视频
  • 游戏评价(无论是用户生成的还是其他评价)
  • 游戏中的随机短片

如何处理此类内容?

SportsEvents 的常见用例

编号 说明 所需的实体
案例 1 我需要对点播视频目录中的 SportsEvent 进行建模。 表示游戏的 SportsEvent
案例 2

我需要为直播电视目录中并在线播放的 SportsEvent 建模

游戏通过互联网进行在线播放,且未附加到任何频道。

表示游戏的 SportsEvent

BroadcastEvent,表示比赛的直播。

案例 3 我需要对属于我的直播电视目录且在某个频道上在线播放的 SportsEvent 进行建模。

表示游戏的 SportsEvent

Broadcast,表示比赛的播出信息。

BroadcastServiceOrganizationTelevisionChannelCableOrSatelliteService 实体,表示频道和节目单。

示例 4 上述三种情况的组合。 如果您组合了上述用例的一部分,则必须在相应的“所需实体”列中提供实体类型。

有关我们执行的几项检查的最佳实践和数据分析

编号 所需实体 指南
案例 1

我需要对点播目录中的 SportsEvent 进行建模。

所需的实体

  • 代表游戏的 SportsEvent

建模准则

必须使用 SportsEvent.potentialAction 属性在 SportsEvent 实体上提供指向比赛的深层链接。

要执行的质量检查

  • 请至少在 SportsEvent.startDate 前 14 天设置 SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts 。此规定并非强制要求提前 14 天提供体育赛事数据;赛事数据可以稍后提供。不过,availabilityStarts 值必须在活动开始前至少 14 天设置。
  • SportsEvent.endDate 后设置 SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds
案例 2

我需要对我的直播电视目录中并在线播放的 SportsEvent 进行建模。

游戏通过互联网进行在线播放,且未附加到任何频道。

所需的实体

  • 代表游戏的 SportsEvent
  • BroadcastEvent,表示比赛的播出

建模准则

子支持请求 1:比赛仅以直播形式提供(而非作为点播视频目录的一部分)

  • 必须提供 BroadcastEvent 实体才能分享直播时间表。
  • 必须使用 BroadcastEvent.potentialAction 属性在 BroadcastEvent 实体上提供指向游戏的深层链接。
  • 由于比赛只能在线观看,因此 SportsEvent 实体不得包含任何深层链接。也就是说,不得提供 SportsEvent.potentialAction
  • 必须提供 BroadcastEvent.broadcastOfEvent,因为比赛未与任何频道播出相关联。

子支持请求 2:比赛同时以直播和点播视频目录的形式提供(这可能发生在比赛重播播出时)

  • 必须提供 BroadcastEvent 实体才能分享直播时间表。
  • 必须使用 BroadcastEvent.potentialAction 属性在 BroadcastEvent 实体上提供指向游戏的深层链接。
  • 由于该比赛可作为点播视频目录的一部分进行直播观看,因此 SportsEvent 实体还必须包含深层链接。必须提供 SportsEvent.potentialAction,才能将用户重定向到视频点播目录。
  • 不得提供 BroadcastEvent.publishedOn,因为比赛未与任何频道播出相关联。

要执行的质量检查

  • 在游戏实际发布后,将 BroadcastEvent.isLiveBroadcast 属性设置为 true。请勿将此属性设置为 true 以进行游戏重玩。
  • 对于未启用的 BroadcastEventsBroadcastEvent.startDate 通常不能早于实际的 SportsEvent startDate
  • BroadcastEvents 不应具有 publishedOn 属性,因为广播在互联网上流式传输,并且未附加到频道。
案例 3

我需要对 SportsEvent 进行建模,该 SportsEvent 属于我的直播电视目录,并在频道上在线播放。

所需的实体

  • 表示游戏的 SportsEvent
  • BroadcastEvent,表示比赛的播出信息。
  • BroadcastServiceOrganization TelevisionChannelCableOrSatelliteService 表示频道和节目表的实体。

建模准则

子支持请求 1:比赛仅以直播形式提供(而非点播视频目录的一部分)

  • 分享直播时间表。为此,请提供 BroadcastEvent 实体。
  • 表示频道和提供商阵容。为此,请提供 BroadcastServiceOrganizationTelevisionChannelCableOrSatelliteService 实体。
  • 提供 BroadcastService 深层链接。使用 BroadcastService.potentialAction 属性表示它。
  • 请勿提供 BroadcastEvent.potentialAction 属性。
  • 由于比赛只能在线观看,因此 SportsEvent 实体不得包含任何深层链接。例如,请勿提供 SportsEvent.potentialAction
  • 提供 BroadcastEvent.publishedOn 并将其指向表示将进行广播的频道的 BroadcastService 实体。

子支持请求 2:比赛同时以直播和点播视频目录的形式提供(这可能发生在比赛重播播出时)

  • 提供 BroadcastEvent 实体以共享直播时间表。
  • 提供表示频道和提供商阵容的 BroadcastServiceOrganizationTelevisionChannelCableOrSatelliteService 实体。
  • 提供指向将进行游戏直播的频道的 BroadcastService 深层链接,该链接由 BroadcastService.potentialAction 属性表示。
  • 请勿提供 BroadcastEvent.potentialAction 属性。
  • 由于该比赛可供直播观看,并且属于点播视频目录的一部分,因此 SportsEvent 实体还必须包含深层链接。例如,您可以提供 SportsEvent.potentialAction ,将用户重定向到视频点播目录。
  • 提供 BroadcastEvent.publishedOn 并将其指向表示将进行广播的频道的 BroadcastService 实体。

要执行的质量检查

  • 在游戏实际发布后,将 BroadcastEvent.isLiveBroadcast 属性设置为 true。请勿将此属性设置为 true 以进行游戏重玩。
  • 对于未启用的 BroadcastEventsBroadcastEvent.startDate 通常不能早于实际的 SportsEvent startDate
  • 由于比赛在某个频道播出,因此请使用 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"
    }
  ]
}

BroadcastServiceCableOrSatelliteServiceTelevisionChannelOrganization 实体(如“概念”部分中的直播电视频道部分所定义)

如何处理周边内容?

什么是周边内容?
  • 随机播放精彩集锦或重放短视频片段
  • 游戏预览
  • 比赛精彩集锦
  • 游戏出糗片段
  • 球员访谈片段
  • 幕后花絮视频
  • 游戏评价(无论是用户生成的还是其他评价)
  • 比赛中的其他随机短片
编号 使用场景 建模指南
案例 1 我的视频点播目录中包含随播内容。
  • 不支持此做法,也无法在 Feed 中提供此类信息。
  • 不过,ViTA 可用于提供此类内容的一部分。如需详细了解 ViTA,请与您的 Google 代表联系。
案例 2 我的直播目录中包含周边内容

子情况 1:内容可在互联网上直播

  • 提供 BroadcastEvent 实体以共享直播时间表。
  • 使用 BroadcastEvent.potentialAction 属性提供内容的深层链接。
  • 将任何与剪辑相关的元数据直接添加到 BroadcastEvent 。例如,您可以使用 BroadcastEvent.image 属性添加图片。您可以使用 BroadcastEvent.contentRating 属性添加年龄分级。
  • 由于此内容类型不是 SportsEvent,因此 Feed 不得包含 SportsEvent 实体。因此,不得在 BroadcastEvent 上提供 broadcastOfEvent 属性。
  • 由于它未与渠道相关联,因此请勿在 BroadcastEvent 上提供 publishedOn 属性。

子案例 2:内容可在频道上通过互联网进行直播

  • 必须提供 BroadcastEvent 实体才能分享直播时间表。
  • 必须提供 BroadcastServiceOrganizationTelevisionChannel CableOrSatelliteService 实体来表示频道和提供商阵容。
  • 指向游戏的深层链接必须是 BroadcastService 深层链接,由必须提供的 BroadcastService.potentialAction 属性表示。
  • 不得提供 BroadcastEvent.potentialAction 属性。
  • 所有与剪辑相关联的元数据都必须直接添加到 BroadcastEvent。例如,您可以使用 BroadcastEvent.image 属性添加图片。您可以使用 BroadcastEvent.contentRating 属性添加年龄分级。
  • 由于此内容类型不是 SportsEvent,因此 Feed 不得包含 SportsEvent 实体。因此,不得在 BroadcastEvent 上提供 broadcastOfEvent 属性。
  • 由于它与渠道相关联,因此请在 BroadcastEvent 上提供 publishedOn 属性。
案例 3 我同时在视频点播和直播电视目录中提供周边内容

鉴于目前动态不接受视频点播体育赛事前/后内容,因此此情况与第 2 种情况类似。 请参阅该页面中的说明。

常见问题解答

问:在哪里可以找到前面提到的实体的相关规范?

答:您可以点击此处查看所需的规范。

整体文档 链接
SportsEvent 链接
BroadcastServiceOrganizationTelevisionChannel CableOrSatelliteService 链接
BroadcastEvent 链接

问题:有没有更详细的文档来介绍如何对直播电视频道和节目阵容进行建模?

答:可以,您可以在“概念”下的 Live TV 频道部分找到更多详情。如果您无法查看文档,欢迎随时申请查看权限。

问:VITA 是否也支持完整的直播比赛和完整的比赛重放?

答:除了部分赛事内容外,VITA 还支持基于联盟的完整直播赛事和完整赛事重播的元数据

  • 对于已经在 Google 上拥有有效的媒体操作 Feed 或提供视频点播或直播电视的合作伙伴,Google 要求该 Feed 还应扩展并包含受支持的 SportsEvent 类型。

    • 在短期内,合作伙伴可以使用 ViTA 提取内容。我们将在长期内逐步支持通过 Feed 发布所有类型的内容。
  • 对于没有视频点播或直播电视服务,但仅提供联盟体育赛事和相关赛事内容的合作伙伴,VITA 是一个不错的起点。如需详细了解 ViTA,请与您的 Google 代表联系。