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 bản phát lại đầy đủ của một trận đấu thể thao.

Bạn có thể mô hình hoá điều gì dưới dạng SportsEvent? Trò chơi thể thao
Bạn không thể mô hình hoá điều gì dưới dạng SportsEvent?

Mọi nội dung dạng ngắn, nội dung dạng đoạn video hoặc nội dung phụ. Dưới đây là danh sách:

  • Xem lại ngẫu nhiên hoặc phát lại các đoạn video ngắn
  • Bản xem trước trò chơi
  • Điểm nổi bật của trận đấu
  • Cảnh quay hỏng trong trò chơi
  • Đoạn 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 không phải do người dùng tạo)
  • Đoạn video ngắn ngẫu nhiên trong trò chơi

Làm cách nào để xử lý nội dung bổ trợ như vậy?

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

Số thứ tự Nội dung mô tả Các thực thể bắt buộc
Trường hợp 1 Tôi cần lập mô hình SportsEvent thuộc danh mục Video theo yêu cầu. SportsEvent đại diện cho trò chơi.
Trường hợp 2

Tôi cần lập mô hình SportsEvent thuộc danh mục truyền hình trực tiếp và phát trực tuyến

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

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

BroadcastEvent đại diện cho thông báo truyền tin của trò chơi.

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

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

Broadcast đại diện 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à danh sách chương trình.

Trường hợp 4 Các 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ủa các trường hợp sử dụng trước đó, thì bạn phải cung cấp các loại thực thể trong cột "Yêu cầu thực thể" tương ứng.

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

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

Tôi cần lập mô hình SportsEvent thuộc danh mục Video theo yêu cầu.

Các thực thể 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 trên thực thể SportsEvent bằng cách sử dụng thuộc tính SportsEvent.potentialAction.

Các bước kiểm tra chất lượng cần thực hiện

  • Đặt SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityStarts ít nhất 14 ngày trước SportsEvent.startDate. Mục đích của việc này không phải là bắt buộc cung cấp dữ liệu sự kiện thể thao trước 14 ngày; dữ liệu sự kiện có thể được phân phối sau. Tuy nhiên, bạn phải đặt giá trị availabilityStarts ít nhất 14 ngày trước sự kiện.
  • Đặt SportsEvent.potentialAction.actionAccessibilityRequirement.availabilityEnds sau SportsEvent.endDate.
Trường hợp 2

Tôi cần lập mô hình SportsEvent thuộc danh mục chương trình truyền hình trực tiếp và phát trực tuyến.

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

Các thực thể bắt buộc

  • SportsEvent đại diện cho trò chơi
  • BroadcastEvent đại diện 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ỉ có thể xem trực tiếp (và không có 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 phát sóng.
  • Bạn phải cung cấp đường liên kết sâu đến trò chơi trên 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 không liên kết với bất kỳ chương trình phát sóng nào của kênh.

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

  • Bạn phải cung cấp thực thể BroadcastEvent để chia sẻ lịch phát sóng.
  • Bạn phải cung cấp đường liên kết sâu đến trò chơi 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ó đườ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.
  • Không được cung cấp BroadcastEvent.publishedOn vì trò chơi không liên kết với bất kỳ chương trình phát sóng nào của kênh.

Các bước kiểm tra chất lượng cần thực hiện

  • Đặt thuộc tính BroadcastEvent.isLiveBroadcast thành true khi trò chơi thực sự phát trực tiếp. Đừng đặt thuộc tính này thành true để phát lại trò chơi.
  • Đối với BroadcastEvents không trực tiếp, 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ì luồng truyền tin phát trực tiếp trên Internet và không đính kèm vào kênh.
Trường hợp 3

Tôi cần lập mô hình SportsEvent thuộc danh mục truyền hình trực tiếp và phát trực tuyến trên một kênh.

Các thực thể bắt buộc

  • SportsEvent đại diện cho trò chơi.
  • BroadcastEvent đại diện cho việc phát sóng trận đấu.
  • BroadcastService, Organization, TelevisionChannel, CableOrSatelliteService các thực thể đại diện cho kênh và danh sách chương trình.

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

Trường hợp phụ 1: Trò chơi chỉ có thể xem trực tiếp (và không có 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à danh sách chương trình của nhà cung cấp. Để làm như vậ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. Hãy biểu thị thuộc tính này 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ỏ đến đối tượng BroadcastService đại diện cho kênh sẽ phát sóng.

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

  • 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à danh sách nhà cung cấp.
  • Cung cấp đường liên kết sâu BroadcastService đến kênh phát sóng trò chơi, được biểu thị bằng thuộc tính BroadcastService.potentialAction.
  • Không cung cấp thuộc tính BroadcastEvent.potentialAction.
  • Vì trò chơi có thể xem trực tiếp và là một phần của danh mục Video theo yêu cầu, nên thực thể SportsEvent cũng phải có đường liên kết sâu. Ví dụ: bạn có thể cung cấp SportsEvent.potentialAction để 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ỏ đến đối tượng BroadcastService đại diện cho kênh sẽ phát sóng.

Các bước kiểm tra chất lượng cần thực hiện

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

Ví dụ

Trường hợp 1: 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-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"
        }
      ]
    }
  }
}

Trường hợp 2: Sự kiện thể thao thuộc danh mục chương trình truyền hình trực tiếp 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: Sự kiện thể thao thuộc danh mục chương trình truyền hình trực tiếp 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 tiếp trong phần Khái niệm

Làm cách nào để xử lý nội dung bổ trợ?

Nội dung nào được coi là nội dung bổ trợ?
  • Xem lại ngẫu nhiên hoặc phát lại các đoạn video ngắn
  • Bản xem trước trò chơi
  • Điểm nổi bật của trận đấu
  • Cảnh quay hỏng trong trò chơi
  • Đoạn 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 không phải do người dùng tạo)
  • Các đoạn video ngắn ngẫu nhiên khác trong trò chơi
S.No. 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ể được cung cấp trong nguồn cấp dữ liệu.
  • Tuy nhiên, bạn có thể sử dụng ViTA để cung cấp một tập hợp con của 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 phát trực tiếp

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 của nội dung bằng cách sử dụng thuộc tính BroadcastEvent.potentialAction .
  • Thêm mọi siêu dữ liệu liên kết (với đoạn video) 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ì không liên kết với kênh, nên bạn không cần 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 phát sóng.
  • Bạn phải cung cấp các thực thể BroadcastService, Organization, TelevisionChannel , CableOrSatelliteService để đại diện cho kênh và danh sách nhà cung cấp.
  • Đường liên kết sâu đến trò chơi chỉ cần là đường liên kết sâu BroadcastService , được biểu thị bằng thuộc tính BroadcastService.potentialAction mà bạn phải cung cấp.
  • Không được cung cấp thuộc tính BroadcastEvent.potentialAction.
  • Mọi siêu dữ liệu được liên kết (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 cách sử dụ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 được liên kết với một kênh, hãy cung cấp thuộc tính publishedOn trên BroadcastEvent.
Trường hợp 3 Tôi có nội dung bổ trợ trong cả danh mục Video theo yêu cầu và truyền hình trực tiếp

Vì nội dung trước và sau trận đấu thể thao trên dịch vụ 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 trường hợp 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ông số kỹ thuật liên quan cho các thực thể được đề cập trước đó ở đâu?

Đáp: Bạn có thể xem 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 chi tiết hơn giải thích cách lập mô hình các kênh truyền hình trực tiếp và chương trình phát sóng không?

Đáp: Có, bạn có thể xem 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ả trận đấu phát trực tiếp đầy đủ và trận đấu phát lại đầy đủ không?

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

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

    • Trong ngắn hạn, các đối tác có thể sử dụng ViTA để truyền dẫn nội dung cùng lú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 dài hạn.
  • Đối với những đối tác không cung cấp dịch vụ Video theo yêu cầu hoặc truyền hình trực tiếp nhưng chỉ phát sóng các chương trình thể thao theo giải đấu và nội dung liên quan, ViTA là một lựa chọn tuyệt vời để 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.