SportsEvents – Lập mô hình, các phương pháp hay nhất và nguồn cấp dữ liệu mẫu

Định nghĩa

SportsEvent là một loại thực thể đại diện cho một trận đấu thể thao hoặc việc phát lại toàn bộ một trận đấu thể thao.

Sự kiện thể thao có thể được mô hình hoá như thế nào? Một trận đấu thể thao
Sự kiện nào không thể được mô hình hoá dưới dạng SportsEvent?

Bất kỳ nội dung ngắn hoặc đoạn video hoặc nội dung bổ trợ. Dưới đây là danh sách:

  • Nội dung tóm tắt ngẫu nhiên hoặc phát lại các đoạn video ngắn
  • Xem trước trò chơi
  • Khoảnh khắc nổi bật của trò chơi
  • Cảnh quay hỏng trong trò chơi
  • Đoạn video phỏng vấn cầu thủ
  • Video hậu trường
  • Bài đánh giá trò chơi (do người dùng tạo hoặc nội dung khác)
  • Đoạn video ngắn ngẫu nhiên trong trận đấu

Làm thế nào để xử lý những nội dung bổ trợ như vậy?

Các trường hợp sử dụng phổ biến cho SportsEvents

Không. Mô tả Pháp nhân bắt buộc
Trường hợp 1 Tôi cần mô hình hoá SportsEvent thuộc danh mục Video theo yêu cầu của mình. SportsEvent đại diện cho trò chơi.
Trường hợp 2

Tôi cần mô hình hoá SportsEvent trong danh mục truyền hình trực tuyến và các nội dung phát trực tuyến của mình

Trò chơi phát trực tuyến qua Internet và không được liên kết với bất kỳ kênh nào.

SportsEvent đại diện cho trò chơi.

BroadcastEvent đại diện cho nội dung phát sóng của trò chơi.

Trường hợp 3 Tôi cần lập mô hình một SportsEvent nằm trong danh mục truyền hình trực tiếp của mình và được phát trực tuyến trên một kênh.

SportsEvent đại diện cho trò chơi.

Broadcast tượng trưng cho việc phát sóng trận đấu.

Các thực thể BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService đại diện cho kênh và nhóm kênh nổi tiếng.

Trường hợp 4 Sự kết hợp của ba trường hợp trước đó. Nếu kết hợp một tập hợp con các trường hợp sử dụng trước đó, bạn phải cung cấp các loại thực thể trong cột "Đối tượng bắt buộc" tương ứng.

Các phương pháp hay nhất và thông tin chi tiết về một số quy trình kiểm tra mà chúng tôi thực hiện

Số Pháp nhân bắt buộc Nguyên tắc
Trường hợp 1

Tôi cần mô hình hoá SportsEvent thuộc danh mục Video theo yêu cầu của mình.

Pháp nhân bắt buộc

  • SportsEvent đại diện cho trò chơi

Nguyên tắc lập mô hình

Bạn phải cung cấp đường liên kết sâu đến trò chơi qua thực thể SportsEvent bằng cách sử dụng thuộc tính SportsEvent.potentialAction.

Trường hợp 2

Tôi cần mô hình hoá SportsEvent thuộc danh mục truyền hình trực tuyến và các sự kiện phát trực tuyến của mình.

Trò chơi phát trực tuyến qua Internet và không được liên kết với bất kỳ kênh nào.

Pháp nhân bắt buộc

  • SportsEvent đại diện cho trò chơi
  • BroadcastEvent tượng trưng cho việc phát sóng trận đấu

Nguyên tắc lập mô hình

Trường hợp phụ 1: Trò chơi chỉ phát trực tiếp (không nằm trong danh mục Video theo yêu cầu)

  • Bạn phải cung cấp thực thể BroadcastEvent để chia sẻ lịch truyền tin.
  • Đường liên kết sâu đến trò chơi phải được cung cấp trong thực thể BroadcastEvent bằng thuộc tính BroadcastEvent.potentialAction.
  • Vì trò chơi chỉ có thể xem trực tiếp, nên thực thể SportsEvent không được có đường liên kết sâu nào. Tức là bạn không được cung cấp SportsEvent.potentialAction.
  • Bạn phải cung cấp BroadcastEvent.broadcastOfEvent vì trò chơi này không liên kết với bất kỳ chương trình truyền hình nào của kênh.

Trường hợp phụ 2: Trò chơi có thể phát trực tiếp và nằm trong danh mục Video theo yêu cầu (điều này có thể xảy ra khi phát lại trò chơi đang được phát sóng)

  • Bạn phải cung cấp thực thể BroadcastEvent để chia sẻ lịch truyền tin.
  • Đường liên kết sâu đến trò chơi phải được cung cấp trên thực thể BroadcastEvent bằng thuộc tính BroadcastEvent.potentialAction.
  • Vì trò chơi có thể xem trực tiếp trong danh mục Video theo yêu cầu, nên thực thể SportsEvent cũng phải có một đường liên kết sâu. Bạn phải cung cấp SportsEvent.potentialAction để chuyển hướng người dùng đến danh mục Video theo yêu cầu.
  • Bạn không được cung cấp BroadcastEvent.publishedOn vì trò chơi này không liên kết với bất kỳ chương trình truyền hình nào của kênh.

Kiểm tra chất lượng để thực hiện

  • Đặt thuộc tính BroadcastEvent.isLiveBroadcast thành true khi trò chơi thực sự đang phát trực tiếp. Không đặt thuộc tính này thành true để phát lại trò chơi.
  • Đối với BroadcastEvents không hoạt động, BroadcastEvent.startDate thường không được sớm hơn SportsEvent startDate thực tế.
  • BroadcastEvents không được có thuộc tính publishedOn vì các nội dung truyền phát trên Internet và không đính kèm vào kênh.
Trường hợp 3

Tôi cần xây dựng mô hình SportsEvent thuộc danh mục truyền hình trực tuyến của mình và phát trực tuyến trên một kênh.

Pháp nhân bắt buộc

  • SportsEvent đại diện cho trò chơi.
  • BroadcastEvent tượng trưng cho việc phát sóng trò chơi.
  • Các thực thể BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService đại diện cho kênh và nhóm kênh nổi tiếng.

Nguyên tắc lập mô hình

Trường hợp phụ 1: Trò chơi chỉ phát trực tiếp (không nằm trong danh mục Video theo yêu cầu)

  • Chia sẻ lịch phát sóng. Để thực hiện việc này, hãy cung cấp thực thể BroadcastEvent.
  • Đại diện cho kênh và nhóm nhà cung cấp. Để thực hiện việc này, hãy cung cấp các thực thể BroadcastService, Organization, TelevisionChannelCableOrSatelliteService .
  • Cung cấp đường liên kết sâu BroadcastService. Biểu diễn bằng thuộc tính BroadcastService.potentialAction.
  • Không cung cấp thuộc tính BroadcastEvent.potentialAction.
  • Vì trò chơi chỉ có thể xem trực tiếp, nên thực thể SportsEvent không được có bất kỳ đường liên kết sâu nào. Ví dụ: đừng cung cấp SportsEvent.potentialAction.
  • Cung cấp BroadcastEvent.publishedOn và trỏ vào thực thể BroadcastService đại diện cho kênh nơi diễn ra Sự kiện phát sóng.

Trường hợp phụ 2: Trò chơi có thể phát trực tiếp và nằm trong danh mục Video theo yêu cầu (điều này có thể xảy ra khi phát lại trò chơi đang được phát sóng)

  • Cung cấp thực thể BroadcastEvent để chia sẻ lịch phát sóng.
  • Cung cấp các thực thể BroadcastService, Organization, TelevisionChannelCableOrSatelliteService đại diện cho kênh và nhóm nhà cung cấp.
  • Cung cấp đường liên kết sâu BroadcastService đến kênh sẽ phát sóng trò chơi, được biểu thị bằng thuộc tính BroadcastService.potentialAction.
  • Đừng cung cấp thuộc tính BroadcastEvent.potentialAction.
  • Vì trò chơi có thể xem trực tiếp và nằm trong danh mục Video theo yêu cầu, nên thực thể SportsEvent cũng phải có một đường liên kết sâu. Ví dụ: SportsEvent.potentialAction có thể được cung cấp để chuyển hướng người dùng đến danh mục Video theo yêu cầu.
  • Cung cấp BroadcastEvent.publishedOn và trỏ vào thực thể BroadcastService đại diện cho kênh nơi diễn ra Sự kiện phát sóng.

Kiểm tra chất lượng để thực hiện

  • Đặt thuộc tính BroadcastEvent.isLiveBroadcast thành true khi trò chơi thực sự đang phát trực tiếp. Không đặt thuộc tính này thành true để phát lại trò chơi.
  • Đối với BroadcastEvents không hoạt động, BroadcastEvent.startDate thường không được sớm hơn SportsEvent startDate thực tế.
  • Vì trò chơi phát sóng trên một kênh, hãy thêm một đường liên kết sâu bằng cách sử dụng thuộc tính BroadcastService.potentialAction. Thực thể BroadcastEvent không được có đường liên kết sâu trong trường hợp này.

Ví dụ

Trường hợp 1: Một sự kiện thể thao thuộc danh mục Video theo yêu cầu


{
  "@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"
        }
      ]
    }
  }
}

Trường hợp 2: Một sự kiện thể thao thuộc danh mục truyền hình trực tuyến và được phát trực tuyến

Sự kiện phát sóng


{
  "@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"
  }
}

Sự kiện thể thao


{
  "@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"
    }
  ]
}

Trường hợp 3: Một sự kiện thể thao thuộc danh mục truyền hình trực tuyến và được phát trực tuyến trên một kênh

Sự kiện phát sóng


{
  "@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"
  }
}

Sự kiện thể thao


{
  "@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"
    }
  ]
}

Các thực thể BroadcastService, CableOrSatelliteService, TelevisionChannel, Organization như được xác định trong phần Kênh truyền hình trực tuyến trong phần Khái niệm

Làm thế nào để xử lý nội dung bổ trợ?

Thế nào là nội dung bổ trợ?
  • Nội dung tóm tắt ngẫu nhiên hoặc phát lại các đoạn video ngắn
  • Xem trước trò chơi
  • Khoảnh khắc nổi bật của trò chơi
  • Cảnh quay hỏng trong trò chơi
  • Đoạn video phỏng vấn cầu thủ
  • Video hậu trường
  • Bài đánh giá trò chơi (do người dùng tạo hoặc nội dung khác)
  • Các đoạn video ngắn ngẫu nhiên khác trong trò chơi
Số Trường hợp sử dụng Nguyên tắc lập mô hình
Trường hợp 1 Tôi có nội dung bổ trợ trong danh mục Video theo yêu cầu.
  • Thuộc tính này không được hỗ trợ và không thể cung cấp trong nguồn cấp dữ liệu.
  • Tuy nhiên, bạn có thể dùng ViTA để cung cấp một số loại nội dung này. Hãy liên hệ với người đại diện của Google để tìm hiểu thêm về ViTA.
Trường hợp 2 Tôi có nội dung bổ trợ trong danh mục nội dung trực tiếp của mình

Trường hợp phụ 1: Nội dung có thể phát trực tiếp trên Internet

  • Cung cấp thực thể BroadcastEvent để chia sẻ lịch phát sóng.
  • Cung cấp đường liên kết sâu đến nội dung bằng thuộc tính BroadcastEvent.potentialAction .
  • Thêm trực tiếp mọi siêu dữ liệu có liên quan (vào đoạn video) vào BroadcastEvent . Ví dụ: bạn có thể thêm hình ảnh bằng thuộc tính BroadcastEvent.image . Bạn có thể thêm điểm xếp hạng theo độ tuổi bằng cách sử dụng thuộc tính BroadcastEvent.contentRating .
  • Vì loại nội dung này không phải là SportsEvent nên nguồn cấp dữ liệu không được chứa thực thể SportsEvent. Do đó, bạn không được cung cấp thuộc tính broadcastOfEvent trên BroadcastEvent .
  • Vì thuộc tính này không liên kết với một kênh, nên đừng cung cấp thuộc tính publishedOn trên BroadcastEvent.

Trường hợp phụ 2: Nội dung có thể phát trực tiếp trên Internet trên một kênh

  • Bạn phải cung cấp thực thể BroadcastEvent để chia sẻ lịch truyền tin.
  • Bạn phải cung cấp các thực thể BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService để đại diện cho kênh và nhóm nhà cung cấp.
  • Đường liên kết sâu đến trò chơi chỉ được là đường liên kết sâu BroadcastService (được biểu thị bằng thuộc tính BroadcastService.potentialAction ) và bạn phải cung cấp thuộc tính này.
  • Không được cung cấp thuộc tính BroadcastEvent.potentialAction.
  • Mọi siêu dữ liệu có liên quan (với đoạn video) phải được thêm trực tiếp vào BroadcastEvent. Ví dụ: bạn có thể thêm hình ảnh bằng thuộc tính BroadcastEvent.image. Bạn có thể thêm điểm xếp hạng theo độ tuổi bằng thuộc tính BroadcastEvent.contentRating.
  • Vì loại nội dung này không phải là SportsEvent nên nguồn cấp dữ liệu không được chứa thực thể SportsEvent. Do đó, bạn không được cung cấp thuộc tính broadcastOfEvent trên BroadcastEvent.
  • Vì thuộc tính này được liên kết với một kênh, nên hãy cung cấp thuộc tính publishedOn trên BroadcastEvent.
Trường hợp 3 Tôi cung cấp nội dung bổ trợ trong cả danh mục Video theo yêu cầu và danh mục truyền hình trực tuyến

Do nội dung thể thao bổ trợ dạng Video theo yêu cầu hiện không được chấp nhận trong nguồn cấp dữ liệu, nên điều này tương tự như trường hợp 2. Xem hướng dẫn tại đó.

Câu hỏi thường gặp

Hỏi: Tôi có thể tìm thấy quy cách liên quan cho các pháp nhân nêu trên ở đâu?

Đáp: Bạn có thể tìm thấy các thông số kỹ thuật bắt buộc tại đây.

Tài liệu tổng thể Đường liên kết
SportsEvent Đường liên kết
BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService Đường liên kết
BroadcastEvent Đường liên kết

Hỏi: Có tài liệu nào chi tiết hơn giải thích cách lập mô hình các nhóm kênh và kênh truyền hình trực tuyến không?

Đáp: Có, bạn có thể tìm thêm thông tin chi tiết trong phần Kênh truyền hình trực tuyến trong phần Khái niệm. Vui lòng yêu cầu quyền xem nếu bạn không thể xem tài liệu.

Hỏi: ViTA có hỗ trợ các trận đấu trực tiếp đầy đủ và bản phát lại trận đấu đầy đủ không?

Đáp: ViTA hỗ trợ siêu dữ liệu cho các trận đấu trực tiếp đầy đủ theo giải đấu và các lượt phát lại toàn bộ trận đấu (ngoài một số nội dung bổ trợ)

  • Đối với những đối tác đã có nguồn cấp dữ liệu Hoạt động đối với nội dung đa phương tiện đang hoạt động với Google hoặc có dịch vụ Video theo yêu cầu hoặc chương trình truyền hình trực tuyến, Google yêu cầu nguồn cấp dữ liệu này phải mở rộng và bao gồm cả các loại SportsEvent được hỗ trợ.

    • Trong ngắn hạn, đối tác có thể dùng ViTA để nhập nội dung bổ trợ. Việc hỗ trợ tất cả các loại nội dung thông qua nguồn cấp dữ liệu sẽ được triển khai trong thời gian dài.
  • Đối với những đối tác không có Video theo yêu cầu hoặc dịch vụ truyền hình trực tuyến mà chỉ cung cấp các giải đấu thể thao liên quan và nội dung bổ trợ liên quan, ViTA là một lựa chọn phù hợp để bắt đầu. Hãy liên hệ với người đại diện của Google để tìm hiểu thêm về ViTA.