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

定义

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

什么可以建模为 SportsEvent? 体育比赛
什么情况不能建模为 SportsEvent?

任何短视频、剪辑内容或周边内容。名单如下:

  • 随机回顾或重播较短的视频片段
  • 游戏预览
  • 赛事集锦
  • 游戏搞笑花絮
  • 球员访谈片段
  • 幕后花絮视频
  • 游戏评价(用户生成或其他内容)
  • 从游戏中随机选取的简短片段

如何处理此类周边内容?

体育活动的常见应用场景

编号 说明 必需的实体
情况 1 我需要对属于视频点播目录中的 SportsEvent 进行建模。 SportsEvent 表示游戏。
情况 2

我需要对我的直播电视目录和在线直播中包含的 SportsEvent 进行建模

游戏通过互联网在线播放,并且未连接到任何频道。

SportsEvent 表示游戏。

BroadcastEvent,表示游戏广播。

情况 3 我需要对一个 SportsEvent 建模,该 SportsEvent 应该包含在我的直播电视目录中,并在某个频道上在线直播。

SportsEvent 表示游戏。

Broadcast 表示游戏播出。

BroadcastServiceOrganizationTelevisionChannelCableOrSatelliteService 实体,表示频道和频道组。

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

我们开展的一些检查活动的最佳做法和相关见解

编号 必需的实体 准则
情况 1

我需要为属于我的视频点播目录中的 SportsEvent 建模。

必需的实体

  • SportsEvent,表示游戏

建模指南

必须使用 SportsEvent.potentialAction 属性在 SportsEvent 实体上提供游戏深层链接。

情况 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,表示游戏。
  • 表示游戏播出的 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-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"
    }
  ]
}

“概念”下直播电视频道部分中定义的 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 我在视频点播和直播电视目录中有周边内容

鉴于目前 Feed 不接受视频点播体育周边内容,这与情况 2 类似。请查看相关说明。

常见问题

问:在哪里可以找到上述实体的相关规范?

答:您可以在此处找到要求的规格。

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

问:有没有更详细的文档来说明如何对直播电视频道和频道组进行建模?

答:可以,您可以参阅“概念”下的直播电视频道部分,了解更多详情。如果您无法查看文档,请随时申请查看权限。

问:ViTA 是否支持完整直播游戏和完整游戏重放?

答:ViTA 支持有关联赛完整直播比赛和完整游戏重放(以及部分周边内容)的元数据

  • 对于已向 Google 提供有效的媒体操作 Feed 或提供视频点播或直播电视服务的合作伙伴,Google 要求此 Feed 必须扩展并包含支持的 SportsEvent 类型。

    • 短期内,合作伙伴可以使用 ViTA 提取肩部内容。 应长期通过 Feed 支持所有类型的内容。
  • 如果合作伙伴没有视频点播或直播电视服务,但只提供联盟类体育赛事和相关周边内容,那么从 ViTA 开始是一个不错的选择。如需详细了解 ViTA,请与您的 Google 代表联系。