電視直播頻道

透過整合直播電視頻道,使用者就能在任何支援 Google 助理的裝置上 (例如 Google Home、Android、Android TV 或 Google TV 等) 使用語音指令觀看及切換電視頻道。

使用語音切換電視頻道
圖 1。使用語音切換電視頻道。

服務供應商可以使用 BroadcastServiceCableOrSatelliteServiceTelevisionChannelOrganization 標記物件,在媒體動作動態饋給中提供管道的詳細資料,讓 Google 支援下列使用者查詢:

  • 「Ok Google,播放 ExampleTV」。
  • 「Ok Google,請切換至 ExampleTV-HD。」
  • 「Ok Google,切換到 7 台」。
  • 「Ok Google,ExampleTV-Drama」。

直播電視頻道實體類型

電視直播頻道整合功能需要媒體目錄動態饋給中包含 4 個實體類型 (OrganizationBroadcastServiceCableOrSatelliteServiceTelevisionChannel)。這些實體類型可協助回答下列問題:

  • 電視服務供應商是誰?他們提供哪些服務?
  • 每個服務提供哪些頻道 (也稱為頻道陣容)?

以下各節將深入探討實體類型,並提供上述問題的解答。

閱讀下列各節時,請參考下列關係圖:

不同電視直播頻道實體類型之間的連結
:各種直播電視頻道實體類型之間的連結。

代表電視服務供應商

電視服務供應商 (又稱為電視營運商) 是向訂閱者提供電視節目組合的機構。在大多數情況下,這也是媒體目錄動態饋給的建立者。這會以 Organization 實體表示。動態饋給中應只加入一個代表電視營運商的 Organization 實體。

舉例來說,虛構的 IPTV 服務供應商「ExampleTV Digital」提供「Digital Prime+」服務,讓美國使用者可以收看 180 個頻道。

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type":"Organization",
  "@id":"http://example.com/exampletv/digital",
  "name":"ExampleTV Digital",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_digital"
}

代表電視服務供應商提供的服務

CableOrSatelliteService 代表電視業者提供的區域性有線電視、衛星電視或網路電視服務。通常與頻道陣容相關,並連結至電視營運商,由「機構」實體代表。視電視營運商提供的服務數量而定,你可以在動態饋給中新增一或多個 CableOrSatelliteService 實體。

在這個範例中,系統會建立一個 CableOrSatelliteService 實體,用來描述涵蓋全美國的「Digital Prime+」服務。請注意,它如何使用 provider 屬性參照「ExampleTV Digital」電視服務供應商。

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_iptv/us",
  "name":"Example TV Digital Prime Plus US Service",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/exampletv/digital",
  },
  "areaServed":[
    {
      "@type":"Country",
      "name": "US",
    }
  ]
}

代表電視服務供應商提供的頻道

管道由 OrganizationBroadcastServiceTelevisionChannel 這 3 個實體共同代表。

  • BroadcastService 實體是核心實體,代表發布線性節目的電視頻道。它會連結至 OrganizationTelevisionChannel 實體,並由一組 BroadcastEvent 實體參照,這些實體共同代表節目指南 (或頻道時間表)。

  • Organization 實體代表製作及發行電視節目的頻道。在大多數情況下,這是 BroadcastService 實體的複本,但在其他情況下,可能代表 BroadcastService 所屬的電視網。BroadcastService 實體會使用 broadcastAffiliateOf 屬性參照 Organization 實體。請務必瞭解這兩種實體類型彼此之間的關係。如要瞭解這項功能,請參閱下方的「瞭解組織和 BroadcastService 實體之間的關係」一節。

  • TelevisionChannel 實體會透過專屬 ID (例如頻道號碼或字串) 識別 BroadcastService,並在區域有線、衛星或網路電視服務中 (由 CableOrSatelliteService 實體代表) 顯示該頻道 (在供應商的資源,例如網站或應用程式)。

TelevisionChannelCableOrSatelliteServiceOrganization 實體共同構成了陣容的概念。

在本例中,假設「ABC Movies」是「ExampleTV Digital」電視服務供應商在美國提供的「Digital Prime+」服務中,可供存取的 180 個頻道之一。這個頻道在頻道表中顯示為頻道 7,在 ExampleTV Digital 的 Android TV 應用程式中則顯示為 18。如下所示:

每個 BroadcastService 實體代表一個頻道 (在本例中,為虛構頻道 ExampleTV-MovieChannel 和 ExampleTV-ComedyChannel 的兩個 BroadcastService 實體)


{
 "@context": ["http://schema.org", {"@language": "en"}],
 "@type":"BroadcastService",
 "@id":"https://www.example.com/exampletv/broadcast/movie",
 "name": "ExampleTV-Movie Channel",
 "alternateName": [
    "Example Television Movie Channel",
    "Example TV Movie Channel"
 ],
 "description": "A fictional Internet Protocol TV movie channel.",
 "broadcastDisplayName":"ExampleTV-MovieChannel",
 "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/movie"
 },
 "identifier": [
    {
       "@type": "PropertyValue",
       "propertyID": "TMS_ID",
       "value": "12345"
    }
 ]
 }

一個機構實體,代表 TVNetwork (在本例中,ExampleTV Digital Service (機構) 提供 2 個頻道的存取權:ExampleTV-MovieChannel (機構) 和 ExampleTV-ComedyChannel (機構))


{
 "@context": ["http://schema.org", {"@language": "en"}],
 "@type":"Organization",
 "@id":"http://example.com/exampletv/movie",
 "name":"ExampleTV Movie Channel",
 "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 Channel",
 "sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
 }

每個 BroadcastService 都有一個 (或多個) TelevisionChannel 實體,代表供應商 (組織 - TVOperator) 提供的 (CableOrSatelliteService) 服務中,這個實體可在哪個頻道上播放 (在本例中,TelevisionChannel 實體表示 ExampleTV Digital Service IPTV 在頻道 7 上播放 ExampleTV Movie 節目,在頻道 9 上播放 ExampleTV Comedy 節目)

  {
    "@context": ["http://schema.org", {"@language": "en"}],
    "@type":"TelevisionChannel",
    "@id":"http://example.com/exampletv/extv-movie",
    "broadcastChannelId":"7",
    "broadcastServiceTier":"Standard",
    "inBroadcastLineup":{
      "@type":"CableOrSatelliteService",
      "@id":"http://example.com/example_iptv/us"
    },
    "providesBroadcastService":{
      "@type":"BroadcastService",
      "@id":"https://www.example.com/exampletv/broadcast/movie"
    }
  }

瞭解 Organization 和 BroadcastService 實體之間的關係

BroadcastService 實體是代表電視頻道的核心實體。雖然 Organization 實體是必要的動態饋給實體,但實際上只會讓供應商模擬下列三種例外狀況的用途。因此,供應商應遵守下列重點,但不適用於例外用途。

這個經驗法則有 3 個例外狀況,在這些狀況下,OrganizationBroadcastService 實體之間必須存在 1:N 的關係。請參閱以下說明:

當地或聯盟頻道

舉例來說,Fox 有本地聯播網頻道,分別是位於美國西雅圖KCPQ 和位於美國舊金山KTVUKCPQ 可能會播放西雅圖當地的新聞,而 KTVU 則可能會播放專門針對舊金山使用者需求的節目。在大多數情況下,使用者可能不知道頻道的本地名稱,而是直接將頻道辨識為 Fox

在這種情況下,本地或聯盟頻道應各自以 BroadcastService 實體代表,且所有實體都應連結至一個 Organization 實體。使用者如要切換至這些頻道,可以要求 Google 助理「切換至 Fox」或「切換至 KTVU/KCPQ」。Google 會根據使用者的裝置位置和使用者是否有權觀看所要求的頻道,切換至適當的當地頻道。在前述範例中,您會建立一個代表 Fox 的組織實體,並將其連結至兩個 BroadcastService 實體,每個實體代表一個本地聯播網,分別是 KCPQKTVU

以下是另一個範例,說明如何模擬 ABC 頻道及其本地聯屬頻道:

機構名稱BroadcastService 名稱感情狀態
ABCKAALOrganizationBroadcastService 實體之間的 1:N 關係
ABCKABC
ABCKAEF
ABCKAKE
ABCKAMC
ABCKAPP
ABCKATC
ABCKATN
ABCKATU
ABCKATV

再來看另一個例子。在這裡,WXVTWYOU 是當地的 CBS 頻道。CBS Sports Network 不是本地頻道,與先前提到的本地聯播網無關。

機構名稱BroadcastService 名稱感情狀態
CBSWXVTOrganizationBroadcastService 實體之間的 1:N 關係
CBSWYOU
CBS Sports NetworkCBS Sports Network HDOrganizationBroadcastService 實體之間是一對一的關係

舉例來說,我們以 EPIXEPIX 2 頻道為例,這兩個頻道都提供全國性的節目,且不屬於同一個頻道的變化版本,因此不屬於本地頻道。

機構名稱 BroadcastService 名稱 感情狀態
EPIX EPIX OrganizationBroadcastService 實體之間是一對一關係
EPIX 2 EPIX 2 OrganizationBroadcastService 實體之間是一對一的關係

時間轉移頻道

在這種情況下,每個時間轉移通道都應由各自的 BroadcastService 實體代表,且所有通道都應連結至一個 Organization 實體。以下範例說明如何模擬時間延遲頻道:

機構名稱BroadcastService 名稱感情狀態
STARZ EncoreSTARZ Encore WestOrganizationBroadcastService 實體之間的 1:N 關係
STARZ EncoreSTARZ Encore East

串流品質不同的頻道

舉例來說,STARZ Encore Action HDSTARZ Encore Action SD 頻道播放的節目 (EPG) 完全相同,兩者唯一的差異就是串流品質。在這種情況下,每個影片品質串流管道都應由各自的 BroadcastService 實體代表,且所有實體都應連結至一個 Organization 實體。

以下範例說明如何模擬串流品質不同的頻道:

機構名稱BroadcastService 名稱感情狀態
SBSSBSOrganizationBroadcastService 實體之間的 1:N 關係
SBSSBS HD

以下是複雜用途的範例,整合了 Play 中的所有用途:

機構名稱 BroadcastService 名稱 感情狀態
Starz STARZ East OrganizationBroadcastService 實體之間的 1:N 關係,因為有時差頻道
Starz STARZ West
STARZ Kids & FamilySTARZ Kids & FamilyOrganizationBroadcastService 實體之間是一對一關係
STARZ Encore BlackSTARZ Encore BlackOrganizationBroadcastService 實體之間是一對一的關係
STARZ Encore ClsicSTARZ Encore ClassicOrganizationBroadcastService 實體之間的 1:1 關係
STARZ Encore FamilySTARZ Encore FamilyOrganizationBroadcastService 實體之間的 1:1 關係
STARZ Encore SuspenseSTARZ Encore SuspenseOrganizationBroadcastService 實體之間的 1:1 關係
STARZ Encore ActionSTARZ Encore Action HD由於串流品質不同,OrganizationBroadcastService 實體之間的關係為 1:N
STARZ Encore ActionSTARZ Encore Action SD
STARZ EncoreSTARZ Encore WestOrganizationBroadcastService 實體之間的 1:N 關係,這是因為時間延遲頻道
STARZ EncoreSTARZ Encore East

範例

全國電視服務供應商,提供區域節目

虛構的電視服務供應商「Example Cable TV Company」 (Organization) 透過有線電視網路在紐約和舊金山兩個地區提供電視直播服務。服務包含兩個頻道:ExampleTV (Organization) 和 ExampleTV2 (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id": "http://example.com/example_cable_tv_company",
  "name": "Example Cable TV Company",
  "sameAs": "https://en.wikipedia.org/wiki/example_cable_company"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv",
  "name":"ExampleTV Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv2",
  "name":"ExampleTV2 Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv2"
}

這些 BroadcastService 實體會提供 ExampleTVExampleTV2 頻道深層連結和存取權要求的詳細資料:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/hd",
  "name": "ExampleTV HD",
  "description": "A fictional TV broadcast service in HD",
  "broadcastDisplayName":"ExampleTV-HD",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv/broadcast/hd?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"
        ]
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv/broadcast/androidtv/hd?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "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": "102610"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-12345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv2/broadcast",
  "name": "ExampleTV2",
  "description": "A fictional TV broadcast service ExampleTV 2",
  "broadcastDisplayName":"ExampleTV2",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv2"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv2/broadcast/?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"
        ]
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv2/broadcast/androidtv/?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "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": "333339"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv2-11115"
    }
  ]
}

這些 CableOrSatelliteService 實體描述全國電視服務供應商 Example Cable TV Company (Organization) 在紐約 (DMA_ID=501) 和舊金山灣區 (DMA_ID=807) 提供的有線電視服務:

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company_new_york",
  "name":"Example Cable TV Company - New York",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
  },
  "areaServed":[
    {
      "@type": "GeoShape",
      "@id": "http://example.com/newyork_01",
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "DMA_ID",
          "value": "501"
        }
      ]
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company_san_francisco_bay",
  "name":"Example Cable TV Company - San Francisco Bay",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
    "name": "Example Cable TV Company"
  },
  "areaServed":[
    {
      "@type": "GeoShape",
      "@id": "http://example.com/bayarea_01",
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "DMA_ID",
          "value": "807"
        }
      ]
    }
  ]
}

這些 TelevisionChannel 實體表示區域電視服務供應商 Example Cable TV Company - San Francisco Bay 在頻道 7 上提供 ExampleTV-HD,在頻道 11 上提供 ExampleTV2,而區域電視服務供應商 Example Cable TV Company - New York 在頻道 12 上提供 ExampleTV-HD,在頻道 4 上提供 ExampleTV2

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv",
  "broadcastChannelId":"7",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_san_francisco_bay"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/hd"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv2",
  "broadcastChannelId":"11",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_san_francisco_bay"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv2/broadcast"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_new_york/exampletv",
  "broadcastChannelId":"12",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_new_york"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/hd"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_new_york/exampletv2",
  "broadcastChannelId":"4",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_new_york"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv2/broadcast"
  }
}

網路上的全國電視服務供應商

虛構的網路電視服務供應商 ExampleTV Digital Service (Organization) 在網路上提供電視直播服務,其中包含以下兩個頻道:ExampleTV-Movie (Organization) 和 ExampleTV-Comedy (Organization):

{
  "@context":"http://schema.org",
  "@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",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/movie",
  "name":"ExampleTV Movie",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/comedy",
  "name":"ExampleTV Comedy",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}

這兩個 BroadcastService 實體會提供虛構頻道 ExampleTV-MovieExampleTV-Comedy 的深層連結和存取權要求詳細資料:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/movie",
  "name": "ExampleTV-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",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/comedy",
  "name": "ExampleTV-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 會說明全國服務範圍的服務供應商 ExampleTV Digital Service

{
  "@context":"http://schema.org",
  "@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 實體表示 ExampleTV Digital Service IPTV 在頻道 ExTV-Movie 上有 ExampleTV Movie 節目,在頻道 ExTV-Comedy 上有 ExampleTV Comedy 節目:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-movie",
  "broadcastChannelId":"ExTV-Movie",
  "broadcastServiceTier":"Standard",
  "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",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-comedy",
  "broadcastChannelId":"ExTV-Comedy",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/comedy"
  }
}

電視服務供應商提供的頻道陣容

虛構的電視服務供應商 ExampleTV Digital Service (Organization) 透過自家販售的機上盒,為使用者提供虛構的 IPTV 頻道 ExampleTV-Sports (Organization) 和 ExampleTV-Drama (Organization)。

{
  "@context":"http://schema.org",
  "@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",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/sports",
  "name":"ExampleTV Sports",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_sports"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/drama",
  "name":"ExampleTV Drama",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_drama"
}

這兩個 BroadcastService 實體會描述 ExampleTV-SportsExampleTV-Drama 頻道 (深層連結為選用項目):

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/sports/broadcast",
  "name": "ExampleTV-Sports",
  "description": "A fictional Internet Protocol TV service that streams live sports events",
  "broadcastDisplayName":"ExampleTV-Sports",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/sports"
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-sports-11123"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/drama/broadcast",
  "name": "ExampleTV-Drama",
  "description": "A fictional Internet Protocol TV service that streams TV drama shows",
  "broadcastDisplayName":"ExampleTV-Drama",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/drama"
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-drama-11500"
    }
  ]
}

這個 CableOrSatelliteService 會說明全國服務範圍的服務供應商 ExampleTV Digital Service

{
  "@context":"http://schema.org",
  "@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 實體表示 ExampleTV Digital Service IPTV 在頻道 ExTV-Movie 上有 ExampleTV Movie 節目,在頻道 ExTV-Comedy 上有 ExampleTV Comedy 節目:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-sports",
  "broadcastChannelId":"ExampleTV-Sports",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/drama/broadcast"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-drama",
  "broadcastChannelId":"ExampleTV-Drama",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/drama/broadcast"
  }
}

擁有經銷或本地頻道的電視服務供應商

電視服務供應商 (也稱為電視營運商) Example Cable TV Company (Organization) 透過美國有線電視網提供電視直播服務 (名為「Example Cable TV ServiceCableOrSatelliteService)。服務包含一個電視網絡:ExampleTV Network (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id": "http://example.com/example_cable_tv_company",
  "name": "Example Cable TV Company",
  "sameAs": "https://en.wikipedia.org/wiki/example_cable_company"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv",
  "name":"ExampleTV Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv"
}

ExampleTV Network (機構) 有 2 個本地頻道,分別是紐約的 NYTV (BroadcastService) 和新澤西的 NJTV (BroadcastService)。這些 BroadcastService 實體會提供 NYTVNJTV 頻道的深層連結和存取權要求詳細資料。請注意,這兩個 BroadcastService 都透過 broadcastAffiliateOf 屬性連線至相同的機構 (ExampleTV Network):

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/nytv/broadcast",
  "name": "NYTV",
  "description": "A fictional TV broadcast service",
  "broadcastDisplayName":"NYTV",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/nytv/broadcast/hd?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"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/nytv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic"
      },
      "eligibleRegion": [
          {
              "@id": "http://sling.com/dma/501",
              "@type": "GeoShape",
              "addressCountry": "US",
              "identifier": {
                  "@type": "PropertyValue",
                  "propertyID": "DMA_ID",
                  "value": "501"
              }
          }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "102610"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "nytv-12345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/njtv/broadcast/hd",
  "name": "NJTV HD",
  "description": "A fictional TV broadcast service in HD",
  "broadcastDisplayName":"NJTV-HD",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/njtv/broadcast/hd?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"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/njtv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic"
      },
      "eligibleRegion": [
          {
              "@id": "http://sling.com/dma/807",
              "@type": "GeoShape",
              "addressCountry": "US",
              "identifier": {
                  "@type": "PropertyValue",
                  "propertyID": "DMA_ID",
                  "value": "807"
              }
          }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "102611"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "njtv-12345"
    }
  ]
}

CableOrSatelliteService 實體會說明全國電視服務供應商「Example Cable TV Company」 (Organization) 提供的有線電視服務:

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company/service",
  "name":"Example Cable TV Service",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
    "name": "Example Cable TV Company"
  },
  "areaServed": {
    "@type": "Country",
    "name": "US"
  }
}

這些 TelevisionChannel 實體表示電視服務供應商「Example Cable TV Company」在頻道 7 上提供 NYTV,在頻道 12 上提供 NJTV HD

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company/nytv",
  "broadcastChannelId":"7",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company/service"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/nytv/broadcast"
  }
}
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company/njtv",
  "broadcastChannelId":"12",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company/service"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/njtv/broadcast/hd"
  }
}

在 Android TV 上切換頻道

透過整合電視直播頻道,使用者可以要求 Google 透過語音指令切換頻道。Google 會使用自然語言處理 (NLP) 技術,從使用者查詢中擷取參數,並找出使用者想觀看的頻道。接著,Google 會以下列任一方式處理管道切換:

  • 由 Google 處理:Google 會使用媒體動作動態消息中提供的深層連結,執行管道切換。透過動態消息中的資訊,Google 就能查詢使用者想觀看的頻道深層連結。Google 會將使用者直接導向服務供應商應用程式或平台上的內容。
  • 由電視服務供應商處理:Google 會向服務供應商傳送要求。Google 和服務供應商可以透過多種方式協調管道切換作業。如要進一步瞭解如何與 Google 其他平台整合 (例如 AndroidTVMade By GoogleOperator 專用版 Google 助理),請與 Google 聯絡。

媒體動作動態饋給中所需的資訊類型,取決於服務供應商希望 Google 如何處理頻道切換。

在這種做法中,Google 會使用 BroadcastService 實體中提供的深層連結,將使用者直接帶往服務供應商應用程式或平台上的內容。使用者可透過兩種方式表示想觀看的頻道:

如果使用者查詢包含頻道名稱,例如「Ok Google,播放 ExampleTV」,Google 會執行以下操作:

  • 使用者說出「Ok Google,播放 ExampleTV」。
  • Google 會比對使用者查詢與 Google NLP 的管道切換意圖。
  • Google 會從使用者查詢中擷取參數 (在本例中為 ExampleTV)。
  • Google 會使用頻道名稱識別 BroadcastService
  • Google 會從 BroadcastService 擷取深層連結。
  • Google 會使用深層連結,啟動新電視頻道的播放作業。

如果使用者查詢包含頻道號碼,例如「Ok Google,切換至 7 號頻道」,Google 會執行以下操作:

  • 使用者說出「Ok Google,切換至 7 台」。
  • Google 會將使用者查詢與頻道切換意圖配對。
  • Google 會從使用者查詢中擷取參數 (在本例中為「channel 7」)。
  • Google 會根據使用者的所在位置,判斷使用的是哪項區域電視服務 (CableOrSatelliteService)。
  • Google 會使用管道編號和 CableOrSatelliteService 來識別對應的 TelevisionChannel.
  • Google 會找出連結至 TelevisionChannelBroadcastService
  • Google 會從 BroadcastService 擷取深層連結。
  • Google 會使用深層連結,啟動新電視頻道的播放作業。

當 Google 將控制權交給電視服務供應商,以便執行頻道切換時,Google 會從使用者查詢中擷取頻道資訊 (頻道 ID 或名稱),並將這項資訊納入對服務供應商的要求中,做為參數。

使用這種做法時,您可以選擇在 BroadcastService 中提供深層連結和存取權要求 (請參閱由電視服務供應商處理的範例)。

由於這種做法需要服務供應商與 Google 建立端對端通訊,因此服務供應商還必須完成 Assistant for Operators 整合。如需更多資訊,請與 Google 聯絡。