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

定义

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

哪些内容可以建模为 SportsEvent? 体育比赛
哪些内容不能建模为 SportsEvent?

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

  • 随机回顾或重放短视频片段
  • 游戏预览
  • 游戏亮点
  • 游戏出糗片段
  • 球员访谈片段
  • 幕后花絮视频
  • 游戏评价(用户生成或其他)
  • 游戏中的随机短视频片段

如何处理此类周边内容?

SportsEvents 的常见使用场景

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

我需要对属于直播电视目录且在线播放的 SportsEvent 进行建模

游戏通过互联网进行直播,不附加到任何频道。

表示游戏的 SportsEvent

BroadcastEvent 表示游戏的广播。

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

表示游戏的 SportsEvent

Broadcast 表示游戏的播出时间。

BroadcastServiceOrganizationTelevisionChannelCableOrSatelliteService 表示频道和影音内容的实体。

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

最佳实践和我们执行的一些检查的深入分析

S.No. 所需实体 指南
情形 1

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

必需的实体

  • SportsEvent 代表游戏

建模指南

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

要执行的质量检查

  • SportsEvent.startDate 之前至少 14 天设置 SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts 。此要求并非强制要求提前 14 天提供体育赛事数据;赛事数据可以稍后提供。不过,必须在活动开始前至少 14 天设置 availabilityStarts 值。
  • SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds 设置为 SportsEvent.endDate 之后。
情形 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 实体,如“概念”下的“直播电视频道”部分中所定义

如何处理周边内容?

哪些内容属于周边内容?
  • 随机回顾或重放短视频片段
  • 游戏预览
  • 游戏亮点
  • 游戏出糗片段
  • 球员访谈片段
  • 幕后花絮视频
  • 游戏评价(用户生成或其他)
  • 游戏中的其他随机短视频片段
S.No. 使用情形 建模指南
情形 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 代表联系。