Một số loại thực thể yêu cầu bạn thiết lập mối quan hệ giữa nội dung trong nguồn cấp dữ liệu. Thông tin này giúp Google hiển thị thứ tự và cấu trúc nội dung phù hợp cho người dùng, đồng thời xác định nội dung chính xác khi cụm từ tìm kiếm của người dùng không rõ ràng.
Chọn loại nội dung mà bạn cung cấp:
Chương trình truyền hình
Nếu là nhà cung cấp chương trình truyền hình, bạn cần thêm các loại thực thể TVEpisode, TVSeason và TVSeries vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn. Bạn có thể tìm thấy định nghĩa của các thực thể này trong phần Tìm hiểu các loại thực thể có sẵn bằng cách lọc theo các loại này.
Xác định mối quan hệ
Đảm bảo rằng bạn thiết lập các mối quan hệ sau đây giữa các đối tượng:
partOfSeries và partOfSeason kết nối các loại thực thể chương trình truyền hình với nhau.Thực thể
TVEpisodeyêu cầu bạn cung cấp thuộc tínhpartOfSeries, chỉ định@idvànamecủa thực thểTVSeriestrong tập."partOfSeries": { "@type": "TVSeries", "@id": "http://www.example.com/my_favorite_tv_show", "name": "My Favorite TV Show", },Nếu nguồn cấp dữ liệu của bạn chứa các phần phim truyền hình, thì thực thể
TVSeasoncũng yêu cầu bạn chỉ định thực thểTVSeriestrong thuộc tínhpartOfSeries.Thực thể
TVEpisodeyêu cầu bạn cung cấp thuộc tínhpartOfSeason, chỉ định@idvàseasonNumbercủa thực thểTVSeasontrong tập."partOfSeason": { "@type": "TVSeason", "@id": "http://www.example.com/my_favorite_tv_show/s7", "seasonNumber": 7 },Nếu một thực thể
TVEpisodekhông có thực thểTVSeasontương ứng trong nguồn cấp dữ liệu, hãy thực hiện các bước sau để cung cấp các thuộc tínhpartOfSeason.@idvàpartOfSeason.seasonNumbercho thực thểTVEpisode:- Lấy
partofSeries.@idcủa video đó và thêm một trường truy vấn giữ chỗ (ví dụ: ?season1) để tạo mộtpartOfSeason.@idduy nhất (ví dụ: http://www.example.com/my_favorite_tv_show?season1). - Đặt
partOfSeason.seasonNumberthành 1.
partOfSeason.@idhiện có cho thực thểTVSeasontương ứng hoặc thay thế phần giữ chỗpartOfSeason.@idnày bằng@idthực tế của thực thểTVSeason.- Lấy
Ví dụ:
TVSeries
Chương trình truyền hình yêu thích của tôi
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"url": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
"potentialAction":{ … },
...
}
TVSeason
Chương trình truyền hình yêu thích của tôi (phần 7)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"url": "http://www.example.com/my_favorite_tv_show/s7",
"name": "My Favorite TV Show, Season 7",
"seasonNumber": 7,
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
TVEpisode
Tập 3 của Chương trình truyền hình yêu thích của tôi (phần 7)
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "TVEpisode",
"@id": "http://www.example.com/my_favorite_tv_show/s7/e3",
"url": "http://www.example.com/my_favorite_tv_show/s7/e3",
"name": "John Doe returns at night",
"episodeNumber": 3,
"partOfSeason": {
"@type": "TVSeason",
"@id": "http://www.example.com/my_favorite_tv_show/s7",
"seasonNumber": 7
},
"partOfSeries": {
"@type": "TVSeries",
"@id": "http://www.example.com/my_favorite_tv_show",
"name": "My Favorite TV Show",
},
"potentialAction":{ … },
...
}
Đài
Nếu là nhà cung cấp đài phát thanh, bạn cần thêm loại thực thể RadioBroadcastService vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn. Bạn có thể tìm thấy định nghĩa cho các thực thể này trong phần Tìm hiểu các loại thực thể hiện có bằng cách lọc theo loại này.
Xác định mối quan hệ
Vì chỉ có một loại thực thể cho các hoạt động tích hợp như vậy, trong khi không cần thiết lập mối quan hệ rõ ràng, hãy đảm bảo bạn thu thập những thông tin sau đây cho các thực thể RadioBroadcastService:
description: Nội dung mô tả về đài phát thanh.broadcastDisplayName: Tên hiển thị của đài phát thanh.areaServed: Khu vực có đài phát thanh.callSign: Ký hiệu gọi chính thức do chính phủ cấp cho đài phát thanh. Đối với các đài phát thanh ở Bắc Mỹ, thuộc tính này là bắt buộc.broadcastFrequency: Thông số kỹ thuật tần số của đài phát thanh.- Đối với đài phát thanh AM/FM truyền thống, bạn phải cung cấp thuộc tính này.
- Đối với nội dung chỉ phát trực tuyến, giá trị này được đặt thành
INTERNET_STREAM.
broadcastAffiliateOf: Mạng mà đài phát thanh này cung cấp chương trình. Nếu đài phát thanh không thuộc bất kỳ tổ chức liên kết nào, thì bạn không bắt buộc phải thêm thuộc tính này.broadcaster: Tổ chức sở hữu và điều hành đài phát thanh.parentService: Đài phát thanh mẹ. Nếu đài phát thanh là đài phát lại hoặc đài phát sóng của một đài phát thanh khác, thì bạn bắt buộc phải cung cấp thuộc tính này.
Ví dụ:
{
"@context": "http://schema.googleapis.com",
"@type": "RadioBroadcastService",
"@id": "https://www.example.com/stations?id=1",
"url": "https://www.example.com/stations?id=1",
"name": "KABC",
"callSign": "KABC-FM",
"broadcastDisplayName": "KABC",
"description": "Local News & Information",
"broadcastFrequency": {
"@type": "BroadcastFrequencySpecification",
"broadcastFrequencyValue": "89.5",
"broadcastSignalModulation": "FM",
"broadcastSubChannel": "HD1"
},
"areaServed": {
"@type": "City",
"name": "San Francisco, CA"
},
"broadcastAffiliateOf": [
{
"@id": "https://www.example.com/networks/xyz",
"@type": "Organization",
"name": "XYZ",
"sameAs": "https://en.wikipedia.org/wiki/XYZ"
},
{
"@id": "https://www.example.com/networks/efg",
"@type": "Organization",
"name": "EFG",
"sameAs": "https://www.example.com/"
}
],
"broadcaster": [
{
"@type": "Organization",
"name": "California Local Public Broadcasting",
"sameAs": "https://www.example.org/w/clpb/"
},
{
"@type": "Organization",
"sameAs": "https://www.example.org/kabc",
"name": "KABC Inc"
}
],
"potentialAction": { … },
…
}
Âm nhạc
Nếu là nhà cung cấp nhạc, bạn cần thêm các loại thực thể MusicGroup, MusicAlbum và MusicRecording vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn. Bạn có thể tìm thấy định nghĩa của các thực thể này trong phần Tìm hiểu các loại thực thể có sẵn bằng cách lọc theo các loại này.
MusicGroup, MusicAlbum và MusicRecording cho phép ứng dụng hoặc nền tảng của bạn phát thêm nội dung trong một danh sách phát (MusicPlaylist) sau khi phát hết nội dung trong thực thể ban đầu. Hãy xem xét trường hợp sau:
- Một thực thể
MusicAlbumchứa danh sách các bài hát trong Đĩa nhạc XYZ (một thực thể gốc). - Một thực thể
MusicPlaylistchứa danh sách phát các bài hát tương tự như các bài hát trong Album XYZ. - Thực thể
MusicAlbumbao gồm thực thểMusicPlaylistdưới dạng một Hành động được gieo mầm từ thực thể.
Trong chế độ thiết lập này, sau khi phát tất cả các bài hát trong Đĩa nhạc XYZ, ứng dụng của bạn có thể tiếp tục phát các bài hát trong danh sách phát do thực thể MusicPlaylist cung cấp.
Hành động của thực thể và Hành động được gieo mầm từ thực thể
Listen Actions hỗ trợ 2 loại Thao tác:
- Hành động của thực thể: Phát một nghệ sĩ, đĩa nhạc hoặc bài hát cụ thể (một thực thể gốc). Trong đó có
MusicGroup,MusicAlbum,MusicRecording. - Hành động dựa trên thực thể gốc: Phát nội dung tương tự như thực thể gốc. Trong đó có
MusicPlaylist.- Sau khi hoàn tất một Thao tác trên thực thể, ứng dụng hoặc nền tảng của bạn có thể bắt đầu một Thao tác được gieo mầm cho thực thể.
- Một Hành động dựa trên thực thể có thể bao gồm việc phát nội dung từ thực thể ban đầu.
Bạn nên thêm một Thao tác được gieo mầm thực thể vào mọi Thao tác thực thể.
Xác định mối quan hệ
- Đối với
MusicGroup, nếu bạn cung cấp một Hành động được gieo mầm thực thể, hãy xác định@idvànamecủaMusicPlaylist. - Đối với
MusicAlbumvàMusicRecording, bạn cần xác địnhMusicGroupmà chúng thuộc về.- Xác định
@idvànamecủaMusicGroup. - Nếu bạn cung cấp một Hành động được gieo mầm thực thể, hãy xác định
@idvànamecủaMusicPlaylist.
- Xác định
- Đối với
MusicPlaylist,- Nếu có, hãy xác định
genrethể hiện đúng nhất nội dung trong danh sách phát. - Nếu danh sách phát được tuyển chọn thủ công, hãy xác định
numTracks.- Việc thiếu
numTrackscho Google biết rằng danh sách phát này là một danh sách phát tự động tạo và không có điểm kết thúc.
- Việc thiếu
- Nếu có, hãy xác định
Ví dụ:
MusicGroup
- Nghệ sĩ: Nghệ sĩ tôi yêu thích
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicGroup",
"@id":"http://www.example.com/artist/my_favorite_artist/",
"url":"http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist",
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/artist_mix/my_favorite_artist/",
"url":"http://www.example.com/artist_mix/my_favorite_artist/",
"name":"My Favorite Artist Mix",
"potentialAction":{ … },
},
...
}
MusicAlbum
- Album: Đĩa nhạc yêu thích của tôi
- Nghệ sĩ: Nghệ sĩ tôi yêu thích
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicAlbum",
"@id":"http://www.example.com/album/my_favorite_album",
"url":"http://www.example.com/album/my_favorite_album",
"name":"My Favorite Album",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/album_mix/my_favorite_album",
"url":"http://www.example.com/album_mix/my_favorite_album",
"name":"My Favorite Album Mix",
"potentialAction":{ … },
},
...
}
MusicRecording
- Bài hát: Bài hát yêu thích của tôi
- Nghệ sĩ: Nghệ sĩ tôi yêu thích
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicRecording",
"@id":"http://www.example.com/track/my_favorite_song",
"url":"http://www.example.com/track/my_favorite_song",
"name":"My Favorite Song",
"byArtist":{
"@type":"MusicGroup",
"@id": "http://www.example.com/artist/my_favorite_artist/",
"name":"My Favorite Artist"
},
"potentialAction":{ … },
"subjectOf": {
"@type":"MusicPlaylist",
"@id":"http://www.example.com/track_mix/my_favorite_song",
"url":"http://www.example.com/track_mix/my_favorite_song",
"name":"My Favorite Song Mix",
"potentialAction":{ … },
},
...
}
MusicPlaylist
- Một danh sách phát tuỳ chỉnh: "Những bài hát nhạc pop hàng đầu của thập niên 2010"
{
"@context":"http://schema.googleapis.com/",
"@type":"MusicPlaylist",
"@id":"http://www.example.com/playlist/top_pop_songs/",
"url":"http://www.example.com/playlist/top_pop_songs/",
"name":"Top Pop Songs of the 2010s",
"genre": [
"pop",
"2010s"
],
"numTracks":"46",
"potentialAction":{ … },
...
}
Truyền hình trực tuyến
Nếu là nhà cung cấp truyền hình trực tuyến, bạn cần thêm các loại thực thể Organization, BroadcastService, CableOrSatelliteService và TelevisionChannel vào nguồn cấp dữ liệu danh mục nội dung nghe nhìn để thể hiện danh sách kênh của bạn. Bạn cũng có thể cần cung cấp các thực thể BroadcastEvent, TVSeries, TVEpisode, Movie và SportsEvent để thể hiện EPG (hướng dẫn chương trình điện tử) liên quan. Bạn có thể tìm thấy định nghĩa cho các thực thể này trong phần Tìm hiểu các loại thực thể hiện có bằng cách lọc theo các loại này. Để biết nội dung giải thích chi tiết hơn, bạn có thể truy cập vào trang Kênh truyền hình trực tuyến.
Mối quan hệ giữa các thực thể đại diện cho kênh truyền hình trực tuyến
Hình dưới đây cho thấy mối quan hệ giữa các thực thể Organization, BroadcastService, CableOrSatelliteService và TelevisionChannel:
- Thực thể
Organization(nhà điều hành) đại diện cho nhà cung cấp nguồn cấp dữ liệu và tổ chức mẹ của dịch vụCableOrSatelliteServiceđược kết nối bằng thuộc tínhprovidertrên thực thểCableOrSatelliteService. - Các thực thể
Organizationtương ứng với thực thểBroadcastServiceđược kết nối bằng thuộc tínhbroadcastAffiliateOftrên thực thểBroadcastService. - Các thực thể
TelevisionChannelkết nối với thực thểCableOrSatelliteService(đại diện cho nhóm kênh mà các thực thể đó thuộc về) bằng thuộc tínhinBroadcastLineup. - Các thực thể
TelevisionChannelkết nối với thực thểBroadcastService(kênh này cung cấp chương trình của thực thể này) bằng thuộc tínhprovidesBroadcastService.
Bạn nên xem trang khái niệm Kênh truyền hình trực tiếp để biết các ví dụ cụ thể về cách thiết lập mối quan hệ giữa các thực thể BroadcastService và Organization.
Mối quan hệ giữa các kênh và hướng dẫn chương trình (EPG)
Hình dưới đây cho thấy cách thực thể BroadcastEvent liên kết với các thực thể còn lại trong nguồn cấp dữ liệu.
- Các thực thể
BroadcastEvent(đại diện cho hướng dẫn lập trình (EPG) của mộtBroadcastService) được kết nối với các thực thểBroadcastServicebằng thuộc tínhpublishedOntrên thực thểBroadcastEvent. - Bạn cũng có thể kết nối các thực thể
BroadcastEventvới các thực thểTVEpisode,TVSeries,Moviecấp cao nhất bằng thuộc tínhworkPerformed. - Bạn cũng có thể kết nối các thực thể
BroadcastEventvới các thực thểSportsEventcấp cao nhất bằng thuộc tínhbroadcastOfEvent. - Đối với các sự kiện không có kênh được phát trực tuyến, các thực thể
BroadcastEventsẽ kết nối với thực thể đại diện cho sự kiện trực tiếp bằng thuộc tínhworkPerformedhoặcbroadcastOfEvent, tuỳ thuộc vào nội dung đang được phát trực tiếp. Trong những trường hợp như vậy, hãy bỏ qua thuộc tínhpublishedOnvì luồng không được đính kèm vào kênh tuyến tính. KhibroadcastOfEventtham chiếu đếnSportsEvent, hãy cung cấp đường liên kết sâu (potentialAction) ngay trên thực thểSportsEvent(không phải trênBroadcastEvent).
Ví dụ
Phần sau đây cung cấp các ví dụ và đoạn mã cho nhiều trường hợp sử dụng Hành động xem.
Nhà cung cấp dịch vụ truyền hình quốc gia trên Internet
Tổ chức
Một nhà cung cấp dịch vụ Truyền hình giao thức Internet hư cấu, ExampleTV Digital Service (Organization), cung cấp dịch vụ Truyền hình trực tuyến trên Internet, bao gồm hai kênh sau: ExampleTV-Movie (Organization) và ExampleTV-Comedy (Organization):
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/digital",
"name":"ExampleTV Digital Service",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/movie",
"name":"ExampleTV Movie",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"Organization",
"@id":"http://example.com/exampletv/comedy",
"name":"ExampleTV Comedy",
"sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}
BroadcastService
Hai thực thể BroadcastService này cung cấp thông tin chi tiết về đường liên kết sâu và yêu cầu truy cập cho các kênh hư cấu ExampleTV-Movie và ExampleTV-Comedy:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie",
"name": "ExampleTV-Movie",
"alternateName": [
"Example Television Movie",
"Example TV Movie"
],
"description": "A fictional Internet Protocol TV movie channel.",
"broadcastDisplayName":"ExampleTV-Movie",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/movie"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/movie?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",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12345"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-movie-33345"
}
]
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy",
"name": "ExampleTV-Comedy",
"alternateName": [
"Example Television Comedy",
"Example TV Comedy"
],
"description": "A fictional Internet Protocol TV comedy channel.",
"broadcastDisplayName":"ExampleTV-Comedy",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://www.example.com/exampletv/comedy"
},
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?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",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://www.example.com/exampletv/basic_subscription",
"name": "Basic subscription",
"identifier": "example.com:basic",
"commonTier": true
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "15555"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-comedy-12323"
}
]
}
CableOrSatelliteService
CableOrSatelliteService này mô tả nhà cung cấp dịch vụ ExampleTV Digital Service có phạm vi phủ sóng toàn quốc:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us",
"name":"Example TV Digital Service - US",
"provider": {
"@type": "Organization",
"@id": "http://example.com/exampletv/digital"
},
"areaServed":[
{
"@type":"Country",
"name": "US"
}
]
}
TelevisionChannel
Các thực thể TelevisionChannel này cho biết rằng IPTV ExampleTV Digital Service có chương trình ExampleTV Movie trên kênh ExTV-Movie và chương trình ExampleTV Comedy trên kênh ExTV-Comedy:
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-movie",
"broadcastChannelId":"ExTV-Movie",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/movie"
}
},
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"TelevisionChannel",
"@id":"http://example.com/exampletv/extv-comedy",
"broadcastChannelId":"ExTV-Comedy",
"broadcastServiceTier":"Basic",
"inBroadcastLineup":{
"@type":"CableOrSatelliteService",
"@id":"http://example.com/example_iptv/us"
},
"providesBroadcastService":{
"@type":"BroadcastService",
"@id":"https://www.example.com/exampletv/broadcast/comedy"
}
}
Hãy xem phần Ví dụ về truyền hình trực tuyến để biết thêm ví dụ.
Phát sóng phim trên kênh truyền hình
Một bộ phim được phát sóng trên mạng truyền hình Example TV (BroadcastService) từ 17:00 đến 19:00 ngày 12 tháng 7 năm 2019.
BroadcastEvent
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "BroadcastEvent",
"@id": "http://example.com/live/movie/new_release",
"name": "My Favorite Movie",
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"startDate": "2019-07-12T17:00-08:00",
"endDate": "2019-07-12T19:00-08:00",
"videoFormat": "HD",
"isLiveBroadcast": false,
"publishedOn": {
"@type": "BroadcastService",
"@id": "http://example.com/stations/example_tv"
},
"workPerformed": {
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie"
}
}
BroadcastService
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type":"BroadcastService",
"@id":"http://example.com/stations/example_tv",
"name":"EXAMPLE-TV",
"broadcastDisplayName":"ABCD",
"callSign": "EXA-TV",
"videoFormat":"SD",
"broadcastTimezone":"America/Los_Angeles",
"broadcastAffiliateOf":{
"@type":"Organization",
"@id":"http://example.com/networks/abcd-network"
},
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "TMS_ID",
"value": "12258"
},
{
"@type": "PropertyValue",
"propertyID": "_PARTNER_ID_",
"value": "exampletv-123456"
}
],
"potentialAction": {
"@type": "WatchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "http://example.com/livestream",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/IOSPlatform",
"http://schema.googleapis.com/GoogleVideoCast",
"http://schema.org/AndroidTVPlatform"
]
},
"actionAccessibilityRequirement": {
"@type": "ActionAccessSpecification",
"category": "externalsubscription",
"availabilityStarts": "2018-07-21T10:35:29Z",
"availabilityEnds": "2019-10-21T10:35:29Z",
"requiresSubscription": {
"@type": "MediaSubscription",
"@id": "http://example.com/subscription",
"name": "ABCD",
"sameAs": "http://example.com/subscription",
"authenticator": {
"@type": "Organization",
"name": "TVE"
}
},
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
}
]
}
}
}
Phim
{
"@context": ["http://schema.org", {"@language": "en"}],
"@type": "Movie",
"@id": "http://www.example.com/my_favorite_movie",
"url": "http://www.example.com/my_favorite_movie",
"name": "My Favorite Movie",
"sameAs": "https://en.wikipedia.org/wiki/my_favorite_movie",
"releasedEvent": {
"@type": "PublicationEvent",
"startDate": "2008-01-20",
"location": {
"@type": "Country",
"name": "US"
}
},
"description": "John Doe spent years perfecting his survival skills in a tropical jungle.",
"actor": [
{
"@type": "Person",
"name": "John Doe",
"sameAs": "https://en.wikipedia.org/wiki/John_Doe"
},
{
"@type": "Person",
"name": "Jane Doe",
"sameAs": "https://en.wikipedia.org/wiki/Jane_Doe"
}
],
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "IMDB_ID",
"value": "tt0123456"
}
]
}
Hãy xem phần Ví dụ về sự kiện truyền hình trực tuyến để biết thêm ví dụ.
Một trận đấu thể thao được phát trực tiếp trên mạng
Sự kiện phát sóng
{
"@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"
}
}
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": "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"
}
]
}
}
}
Hãy xem phần Ví dụ về thể thao để biết thêm ví dụ.