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

定义

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

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

任何短视频、剪辑内容或周边内容。以下是完整清单:

  • 随机回顾或重放短视频片段
  • 游戏预览
  • 比赛精彩集锦
  • 游戏失误
  • 球员访谈片段
  • 幕后故事视频
  • 游戏评价(用户生成或其他形式)
  • 游戏中的随机短片

如何处理此类周边内容?

SportsEvents 的常见应用场景

序列号 说明 需要实体
情况 1

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

比赛通过互联网在线播放,不与任何频道关联。

SportsEvent 表示游戏。

BroadcastEvent,表示比赛的直播。

情况 2 我需要为 SportsEvent 建模,它是我的直播电视目录的一部分,并且在某个频道上在线直播。

SportsEvent 表示游戏。

BroadcastEvent 表示比赛的播出。

BroadcastService、Organization、TelevisionChannel、CableOrSatelliteService 实体,表示频道和频道组。

案例 3 上述两种情况的组合。 如果您将上述用例结合使用,请提供相应“所需实体”列中列出的所有实体类型。

最佳实践以及我们执行的一些检查的相关数据洞见

在对体育赛事及其直播进行建模时,请遵循以下准则并进行质量检查。

在所有 SportsEvent 集成中应用以下规则:

  • 将所有体育深层链接放置在 SportsEvent.potentialAction 上:赛事级深层链接 (WatchAction)(适用于无频道直播和视频点播重放)必须仅位于 SportsEvent 实体 (SportsEvent.potentialAction) 上。切勿将 potentialAction 放置在引用 SportsEvent 的 BroadcastEvent 上。(对于没有活动专属深层链接的线性频道广播,请在 BroadcastService.potentialAction 中提供频道深层链接。)如果一场比赛有多个直播(例如,地区性直播、主场或客场广播、多种语言或单独的直播和视频点播重放网址),请在 SportsEvent.potentialAction 中提供 WatchAction 对象数组。
  • 预热期 (availabilityStarts):在 SportsEvent.startDate (availabilityStarts <= SportsEvent.startDate - 14 days) 之前至少 14 天设置 SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts,以便提前显示即将到来的比赛图块和观看通知。您无需提前 14 天交付 Feed 实体,只要 availabilityStarts 时间戳至少比 SportsEvent.startDate 提前 14 天设置,就可以在临近比赛日时交付赛事数据。
  • 超时缓冲时间 (availabilityEnds):将 SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds 设置在 SportsEvent.endDate 之后,并留出至少 2 到 3 小时的缓冲时间(availabilityEnds >= SportsEvent.endDate + 2 to 3 hours,或直到视频点播重放窗口结束),这样深层链接就不会在直播超时或赛后报道期间失效。
  • @id 和 url 要求:
    • 使用不同的 @id 值:BroadcastEvent.@id 必须与 SportsEvent.@id 不同。
    • 省略 url:请勿在 BroadcastEvent 或 SportsEvent 实体中添加 url 属性。
S.No. 必须提供实体 指南
情况 1

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

比赛通过互联网直播,不与任何频道关联。

需要实体

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

建模准则

子用例 1:比赛仅提供直播(不属于视频点播目录的一部分)

  • 提供 BroadcastEvent 实体以分享直播时间表,使用 BroadcastEvent.broadcastOfEvent 引用比赛,并在 BroadcastEvent.location 中指定直播国家/地区。
  • 使用 SportsEvent.potentialAction(配置了 14 天的预告片 availabilityStarts 和 2-3 小时的超时缓冲 availabilityEnds)在 SportsEvent 实体上提供直播深层链接。
  • 请勿提供 BroadcastEvent.potentialAction、BroadcastEvent.url 或 SportsEvent.url。
  • 请勿提供 BroadcastEvent.publishedOn,因为该比赛在线直播,没有线性频道。

子情况 2:比赛既有直播,也包含在视频点播目录中(例如,完整比赛重播仍可点播)

  • 提供 BroadcastEvent 实体,以分享每个广播的时间表(引用 BroadcastEvent.broadcastOfEvent 并指定 BroadcastEvent.location)。
  • 在 SportsEvent.potentialAction 上整合直播和视频点播播放,方法是:如果网址和权限相同,则将 availabilityEnds 延长到视频点播窗口结束;或者在 SportsEvent.potentialAction 中提供多个 WatchAction 对象及其各自的 actionAccessibilityRequirement 窗口。
  • 请勿提供 BroadcastEvent.potentialAction、BroadcastEvent.url、SportsEvent.url 或 BroadcastEvent.publishedOn。

要执行的质量检查

  • 在比赛直播时,将 BroadcastEvent.isLiveBroadcast 设置为布尔值 true(不带引号)。对于预定的重放广播,请将其设置为 false。
  • 对于未上线的 BroadcastEvent 实体,BroadcastEvent.startDate 不应早于 SportsEvent.startDate。
  • 在 homeTeam 和 awayTeam 上添加 parentOrganization(包含维基百科 sameAs 网址)。
情况 2

我需要为SportsEvent建模,它是我的直播电视目录的一部分,在某个频道在线直播。

需要实体

  • 代表游戏的 SportsEvent。
  • BroadcastEvent,表示比赛的播出。
  • BroadcastService、Organization、 TelevisionChannel、CableOrSatelliteService 实体,分别代表频道和频道组。

建模准则

子情况 1:比赛仅在直播频道中直播(不属于视频点播目录的一部分)

  • 提供 BroadcastEvent 实体以分享广播的时间表,其中 BroadcastEvent.publishedOn 指向 BroadcastService 实体,BroadcastEvent.broadcastOfEvent 指向 SportsEvent 实体,BroadcastEvent.location 指定广播国家/地区。
  • 提供 BroadcastService、Organization、TelevisionChannel 和 CableOrSatelliteService 实体来表示频道和频道组,并在 BroadcastService.potentialAction 上提供频道深层链接。
  • 切勿提供 BroadcastEvent.potentialAction、BroadcastEvent.url 或 SportsEvent.url。
  • 如果您还支持特定于比赛的直接深层链接,请在 SportsEvent.potentialAction 上提供该链接;如果只能通过 BroadcastService.potentialAction 上的线性频道深层链接播放,请省略 SportsEvent.potentialAction。

子用例 2:比赛在频道上直播,并且是视频点播目录的一部分

  • 提供 BroadcastEvent 实体(包含 publishedOn、broadcastOfEvent 和 location),以分享频道广播时间表。
  • 提供 BroadcastService、Organization、TelevisionChannel 和 CableOrSatelliteService 实体,并在 BroadcastService.potentialAction 上提供频道深层链接。
  • 切勿提供 BroadcastEvent.potentialAction、BroadcastEvent.url 或 SportsEvent.url。
  • 在 SportsEvent 实体上为事件级/视频点播播放窗口提供 SportsEvent.potentialAction。

要执行的质量检查

  • 当比赛正在直播时,将 BroadcastEvent.isLiveBroadcast 设置为布尔值 true(不带引号);对于比赛重放,则设置为 false。
  • 对于未上线的 BroadcastEvent 实体,BroadcastEvent.startDate 不应早于 SportsEvent.startDate。
  • 在 homeTeam 和 awayTeam 上添加 parentOrganization(包含维基百科 sameAs 网址)。

示例

情况 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 我的视频点播目录中有周边内容。
  • 此属性不受支持,无法在 Feed 中提供。
  • 不过,ViTA 可用于提供这些内容的一部分。如需详细了解 ViTA,请与您的 Google 代表联系。
情况 2 我的直播目录中有周边内容

子案例 1:内容可在互联网上直播

  • 提供 BroadcastEvent 实体,以分享广播的时间表。
  • 使用 BroadcastEvent.potentialAction 属性提供周边内容的深层链接(此例外情况仅适用于独立的直播周边内容,因为 Feed 中没有 SportsEvent 实体)。
  • 将(与片段)关联的所有元数据直接添加到 BroadcastEvent 。例如,您可以使用 BroadcastEvent.image 属性添加图片。您可以使用 BroadcastEvent.contentRating 属性添加年龄分级。
  • 由于此内容类型不是 SportsEvent,因此 Feed 不得包含 SportsEvent 实体。因此,不得提供 BroadcastEvent 上的 broadcastOfEvent 属性。
  • 由于它不与频道关联,因此请勿在 BroadcastEvent 上提供 publishedOn 属性。

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

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

鉴于目前 Feed 中不接受视频点播体育周边内容,因此这种情况与第 2 种情况类似。 。请参阅该页面中的说明。

常见问题解答

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

答:您可以在此处找到所需的规格。

总体文档 Link
SportsEvent 链接
BroadcastService、Organization、TelevisionChannel 、CableOrSatelliteService 链接
BroadcastEvent 链接

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

答:可以,如需了解详情,请参阅“概念”下的 Live TV 频道部分。如果您无法查看该文档,请随时申请查看权限。

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

答:ViTA 支持联赛完整赛事直播和完整赛事重播(以及部分周边内容)的元数据

  • 对于已经与 Google 建立了功能性媒体操作 Feed 或提供视频点播或直播电视服务的合作伙伴,Google 要求其扩展 Feed,以便也包含受支持的 SportsEvent 类型。

    • 在短期内,合作伙伴可以使用 ViTA 提取周边内容。 长期来看,应通过 Feed 支持所有类型的内容。
  • 对于没有视频点播或直播电视服务,但仅提供联赛体育赛事和相关周边内容的合作伙伴,ViTA 是一个很好的起点。如需详细了解 ViTA,请与您的 Google 代表联系。