存取權需求

使用者偏好觀看或聆聽原本可存取的內容,例如 使用者的訂閱內容如果 Google 知道使用者可以 存取您的應用程式或平台上,Google 就能提供更符合需求的搜尋結果 或回應來將使用者導向該內容

圖 1. 存取權規定有助於訂閱者存取 應用程式或平台上的內容

辨別內容存取權需求

您必須指出應用程式所含內容套件的存取需求 目錄過程中,請思考以下問題:

  • 使用者是否需要登入您的應用程式或平台才能存取內容?
  • 使用者是否需要訂閱?

    僅限觀看動作:

    • 使用者是否需要外部服務供應商的訂閱服務?
    • 你是否提供分級訂閱方案、多重套裝組合或加購的訂閱方案?
  • 僅限觀看動作:使用者是否需要租借或購買內容?

  • 存取權要求是否隨時間改變?

  • 存取權要求是否取決於裝置的所在位置?

存取權限制類型

存取權限制分為以下兩種:

付費牆類型

你可以依付費牆類型限制內容存取權。下表 各種付費牆類型的詳細資訊

付費牆類型 範例 類別
無須購買或登入。 Crackle nologinrequired
使用者必須登入,但不需付費訂閱。 Vudu (AVOD) free
使用者必須擁有有效的訂閱項目。存取權獨立於 訂閱層級的資料 Netflix

subscription

使用者必須擁有有效的訂閱項目。存取權取決於 訂閱級別 Hulu (外掛程式)

subscription

內容會在 購買。 Vudu rental
內容在 購買。 Vudu purchase
可訂閱有線電視。 HBO GO externalSubscription

觀看動作付費牆類型

如要指定「觀看動作」的內容付費牆類型,請使用 category敬上 將資源用於 動作存取規格

"potentialAction": {
  "@type":"WatchAction",
  "target": { … },
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  },
  ...
}

聆聽動作付費牆類型

如要指定「監聽動作」的內容付費牆類型,請使用 category敬上 將資源用於 優惠物件

"potentialAction": {
  "@type":"ListenAction",
  "target": { … },
  "expectsAcceptanceOf":{
    "@type":"Offer",
    "category":"subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "eligibleRegion": {
      "@type":"Country",
      "name":"US"
    }
  },
  ...
}

地理區域

您必須指定可發布內容的地理區域。請使用其中一項或 符合下列兩項屬性:

只要裝置位置在 不在 eligibleRegion 中指定的任何地區, ineligibleRegion

eligibleRegionineligibleRegion 屬性允許下列內容: 值:

如果內容在全球提供,請使用以下特殊值: eligibleRegion

"eligibleRegion": "EARTH",

適用區域的用途

以下是 eligibleRegion 屬性的應用實例:

  • 範例 1:包含國家/地區清單的 eligibleRegion
  • 範例 2: eligibleRegion 包含的 GeoShape 物件: 包含郵遞區號清單。
  • 範例 3: eligibleRegion 包含的 GeoShape 物件: 包含向前分類區 (FSA) 代碼清單。
  • 範例 4: eligibleRegion 包含的 GeoShape 物件: 包含 DMA ID。
  • 範例 5:包含 GeoShape 物件清單的 eligibleRegion。 每個物件都包含指定行銷區域 (DMA) ID。
  • 範例 6:包含已封鎖的郵遞區號 ineligibleRegion

範例 1

eligibleRegion,包含國家/地區清單:


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/north_america_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion": [
    {
      "@type": "Country",
      "name": "US"
    },
    {
      "@type": "Country",
      "name": "CA"
    }
  ]
}

範例 2

eligibleRegion 替換為 GeoShape 物件,該物件會 包含郵遞區號清單:


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion": {
    "@type": "GeoShape",
    "@id": "http://example.com/area1",
    "addressCountry": "US",
    "postalCode": [
      "94118",
      "94119"
    ]
  }
}

範例 3

eligibleRegion 替換為 GeoShape 物件,該物件會 包含向前分類區 (FSA) 代碼清單:


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion":{
    "@type": "GeoShape",
    "@id": "http://example.com/area2",
    "addressCountry": "CA",
    "postalCode": [
      "1A1",
      "K1A"
    ]
  }
}

示例 4

eligibleRegion 替換為 GeoShape 物件,該物件會 包含 DMA ID:


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/abcd/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
  "eligibleRegion":{
    "@type": "GeoShape",
    "@id": "http://example.com/area3",
    "addressCountry": "US",
    "identifier": [
      {
        "@type": "PropertyValue",
        "propertyID": "DMA_ID",
        "value": "501"
      }
    ]
  }
}

範例 5

eligibleRegion 包含 GeoShape 物件清單。 每個都含有一個指定行銷區域 ID:


"actionAccessibilityRequirement" : {
   "@type" : "ActionAccessSpecification",
   "eligibleRegion" : [
      {
         "@id" : "http://example.com/dma/601",
         "@type" : "GeoShape",
         "addressCountry" : "US",
         "identifier" : {
            "@type" : "PropertyValue",
            "propertyID" : "DMA_ID",
            "value" : "601"
         }
      },
      {
         "@id" : "http://example.com/dma/602",
         "@type" : "GeoShape",
         "addressCountry" : "US",
         "identifier" : {
            "@type" : "PropertyValue",
            "propertyID" : "DMA_ID",
            "value" : "602"
         }
      }
   ]
}

範例 6

ineligibleRegion (含有已封鎖的郵遞區號):


"actionAccessibilityRequirement": {
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": {
    "@type": "MediaSubscription",
    "@id": "http://www.example.com/local_tv_network/subscription",
    "name": "Example Subscription",
    "commonTier": true
  },
 "eligibleRegion":   {
      "@type": "Country",
      "name": "US"
    },
  "ineligibleRegion": {
    "@type": "GeoShape",
    "@id": "http://example.com/area1",
    "addressCountry": "US",
    "postalCode": [
      "94118",
      "94119"
    ]
  }
}

授權 ID

授權 ID entitlementId 是代表 存取媒體目錄中的特定內容。判斷使用者是否 可存取您內容,Google 會採取下列步驟:

  1. 授權端點,以便接收使用者的 授權 ID
  2. 我們會從你的媒體查詢內容所需的授權 ID 動作動態饋給。
  3. 我們會將使用者的 entitlementIdidentifier媒體訂閱物件。如果至少 一個 entitlementId 相符項目,而我們會決定使用者可以存取 內容。
圖 2.與使用者的其中一個授權 ID 相符 取得內容所需的授權 ID

Google 建議您針對 entitlementId 使用下列語法:

<domain name> + colon (:) + <access level to content>

語法範例:

  • example.com:basic
  • example.com:premium
  • example.com:sports

授權 ID 範例

MediaExampleCompany 的動態饋給指定 Movie XYZ 需要 example.com:basic entitlementId,如圖所示:

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "Movie",
  "@id": "www.example.com/movie_xyz",
  "url": "www.example.com/movie_xyz",
  "name": "Movie XYZ",
  "potentialAction": {
    "@type": "WatchAction",
    "target": [ … ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/basic_subscription",
        "name": "Basic subscription",
        "commonTier": true
        ...
      },
      ...
    }
  },
  ...
}

常見存取用途

常見的存取權用途如下:

  • 免費 (不需登入): 無需登入、訂閱或購買即可使用。
  • 免費 (必須登入): 內容要求使用者已登入,但不需訂閱。
  • 單層訂閱方案: 必須訂閱才能觀看。所有訂閱者都能存取相同的 內容、電影或劇集 (無論其訂閱方案為何) 套件。
  • 多層訂閱: 必須訂閱才能使用的內容訂閱者能存取的內容各不相同 根據訂閱項目的層級而定,顯示電影或劇集例如: SilverGold
  • 加購內容:內容 必須訂閱才能使用訂閱者可以在自己的影片 一般訂閱
  • 一次性消費:內容可以 購買後,使用者便可無限期存取。
  • 電視直播:訂閱後可存取 地方、全國和付費頻道。
  • 第三方訂閱方案: 使用者必須登入有線電視服務供應商,才能瀏覽這項內容。

免費 (不需登入)

不需登入

不需登入或訂閱即可使用。


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "nologinrequired",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • category 設為 nologinrequired
  • 請勿加入「expectAcceptanceOf」。

免費 (必須登入)

需要登入

內容只有在使用者登入後才能使用 訂閱項目中的所有進階功能!


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "free",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • category 設為 free
  • 請勿加入「expectAcceptanceOf」。

單層訂閱方案

在單層訂閱模式中,服務供應商有 訂閱級別所有訂閱者都能存取相同的內容 電影或劇集。


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "requiresSubscription": {
        "@type": "MediaSubscription",
        "name": "Example Package",
        "commonTier": true,
        "@id": "http://www.example.com/example_package"
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

多層訂閱方案

在分級式訂閱模式中,服務供應商有多個 訂閱層級,例如「Gold」、「Silver」銅級。訂閱較高層級的使用者可以存取所有 較低層級的內容不過,使用者層級較低的使用者 訂閱無法存取較高層級的內容。

圖 3. 分級訂閱模式及其 授權表示法

請參考下列情境:

  • Jane 會訂閱「Gold」等級。您的授權 端點會傳回下列 entitlementId ID:
    • example.com:bronze
    • example.com:silver
    • example.com:gold
  • John 訂閱了銅級級別。您的授權 端點會傳回下列 entitlementId
    • example.com:bronze
  • 媒體動作動態饋給必須符合下列規定:
    • 電影 A 需要 example.com:bronze
    • 電影 B 需要 example.com:silver

在這個情境中,Google 會為 Jane 決定下列存取層級 和 John:

  • Jane 和 John 都可存取電影 A
  • 小珍可以存取「電影 B」,但大明沒有。
{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "requiresSubscription": {
      "@type": "MediaSubscription",
      "@id": "http://www.example.com/basic_subscription",
      "name": "Bronze",
      "commonTier": true
      ...
    },
    ...
  }
}

加購訂閱項目

在外掛程式訂閱模式中,服務供應商可讓使用者 擴充授權,並將頻道加入基本訂閱項目。位使用者 則可加入任意數量的頻道

圖 4. 外掛程式訂閱模式及其 授權表示法

請參考下列情境:

  • 除了 PROSportz 以外, 基本訂閱。您的授權端點會傳回 以下 entitlementId ID:
    • example.com:basic
    • example.com:pro
    • example.com:sportz
  • John 只有「基本」訂閱方案。您的授權 端點會傳回下列 entitlementId
    • example.com:basic
  • 媒體動作動態饋給必須符合下列規定:
    • 電影 A 需要 example.com:basic
    • 電影 B 需要 example.com:pro

在這個情境中,Google 會為 Jane 決定下列存取層級 和 John:

  • Jane 和 John 都可存取電影 A
  • 小珍可以存取「電影 B」,但大明沒有。
{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    "requiresSubscription": [
      {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/package/basic",
          "name": "Basic",
          "sameAs": "https://www.example.com/package/basic",
          "commonTier": true
        },
        {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/packages/basic/pro",
          "name": "PRO",
          "sameAs": "https://www.example.com/package/pro",
          "identifier": "example.com:pro",
          "commonTier": false
        },
        {
          "@type": "MediaSubscription",
          "@id": "https://www.example.com/package/sportz",
          "name": "Sportz",
          "sameAs": "https://www.example.com/package/sports",
          "identifier": "example.com:sportz",
          "commonTier": false
        }
    }
  }
}

一次性消費

購買

內容在 購買。


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "purchase",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "price": 7.99,
      "priceCurrency": "USD",
      "seller": {
        "@type": "Organization",
        "name": "Example",
        "sameAs": "http://www.example.com/"
      }
    }
  }
}
  • category 設為 purchase
  • expectAcceptanceOf加入 actionAccessibilityRequirement 代表 購買。

租借內容

內容會在 購買。


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "rental",
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    },
    "expectsAcceptanceOf": {
      "@type": "Offer",
      "price": 7.99,
      "priceCurrency": "USD",
      "seller": {
        "@type": "Organization",
        "name": "Example",
        "sameAs": "http://www.example.com/"
      }
    }
  }
}
  • category 設為 rental
  • expectAcceptanceOf加入 actionAccessibilityRequirement 代表 租借。

電視直播

在媒體動作動態消息中,你可以限制電視直播內容的存取權 頻道事件 (根據 有兩個使用者條件:

  • 使用者裝置位置

    如要限制電視頻道的存取權,請指定使用者所在區域 就能存取該資源這個條件通常適用於當地廣播 電視頻道。

  • 使用者的帳戶狀態

    如果電視頻道的存取權取決於使用者的帳戶層級設定, 使用 授權 ID 相關限制

    這種條件通常適用於以下用途:

    • 套裝組合:全國性頻道通常包含在 套裝組合和使用者選擇要訂閱的套裝組合。
    • 加購內容:部分付費頻道使用者必須 選擇性地將額外頻道加入他們的訂閱項目中。
    • 區域運動網路 (RSN):RSN 通常 與使用者的「住家」相關聯或 HTTP/HTTPS 位置使用者可以觀看內容 順帶一提或 HTTP/HTTPS 位置

第三方訂閱

第三方訂閱服務

訂閱者可透過其他服務存取該內容。


{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "externalsubscription"
    "availabilityStarts": "2015-01-01T00:00Z",
    "availabilityEnds": "2015-12-31T00:00Z",
    "requiresSubscription":{
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/faq",
      "name": "Example",
      "sameAs": "https://www.example.com/faq",
      "authenticator": {
        "@type": "Organization",
        "name": "TVE"
      }
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • 新增 authenticator 來表示不同的服務 驗證訂閱者舉例來說,HBO GO 需要 訂閱有線電視服務供應商

常見方案套件

所有訂閱者都能觀看共同等級內容,不受 訂閱套件通用層級會套用至所有具有 category 的內容 (共 subscription 個)。如要進一步瞭解 category 屬性,請參閱 「付費牆類型」部分。

為什麼需要通用的級套件?

多項 Google 產品提供電視和推薦給使用者的電影;本 包括 Google 搜尋、Android TV 及 Google 助理。如何設定使用者 Google 必須瞭解可供所有人使用的內容 可以減少訂閱者人數Google 也須瞭解 內容僅供擁有特定訂閱方案的訂閱者觀看。

Google 會推薦一般層級的影視內容,除非你支援 授權 API: 這個 API 可讓 Google 瞭解 各不常見的非同層名稱 擁有存取權

何時應該建立通用級套件?

如果您的服務提供的內容具有 向所有訂閱者顯示這包括只提供單一套件的服務 以及提供多種套件或外掛程式的服務

如果沒有任何訂閱者可觀看內容,則供應商不必建立 常見的階層套件例如提供互斥鎖的服務供應商 以便向其他團隊購買產品

常見層級範例

以下是常見層級的範例。

分層訂閱

在分級式訂閱模式中,服務供應商提供多個訂閱 級別,例如「Gold」、「Silver」和「Bronze」等級。裝有 較高層級的訂閱項目可存取較低層級的所有內容。位使用者 但較低層級的訂閱項目無法存取左上方的內容 級別。以下是套件結構的範例圖片。

Gold 級包含銀級的所有內容,
            本身即包含所有銅級
圖 5. 分層訂閱套件結構。

在以下程式碼範例中,銅級套件是通用層級,因為 使用者可以存取該級別的所有內容。

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/bronze",
      "name": "Bronze",
      "sameAs": "https://www.example.com/package/bronze",
      "commonTier": true
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/silver",
      "name": "Silver",
      "sameAs": "https://www.example.com/package/silver",
      "identifier": "example.com:silver",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/gold",
      "name": "Gold",
      "sameAs": "https://www.example.com/package/gold",
      "identifier": "example.com:gold",
      "commonTier": false
    }
  ],

外掛程式

在外掛程式訂閱模式中,服務供應商可讓使用者 授權並將頻道加入基本訂閱方案。使用者可以新增為 管道數量不限下圖為套件範例 成本中心的架構

所有使用者一開始都會進入基本頻道,因此可以選擇新增
            任何 PRO、Sportz 和 Moviemax 頻道的組合。
圖 6. 外掛程式訂閱套件結構。

假設您的頻道是供所有使用者使用, 就可以將套件與通用級套件合併。

在以下程式碼範例中,基本套件是通用層級,因為 使用者可以存取這個套件中的所有內容。

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/basic",
      "name": "Basic",
      "sameAs": "https://www.example.com/package/basic",
      "commonTier": true
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/packages/basic/pro",
      "name": "PRO",
      "sameAs": "https://www.example.com/package/pro",
      "identifier": "example.com:pro",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/sportz",
      "name": "Sportz",
      "sameAs": "https://www.example.com/package/sports",
      "identifier": "example.com:sportz",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/moviemax",
      "name": "Moviemax",
      "sameAs": "https://www.example.com/package/moviemax",
      "identifier": "example.com:moviemax",
      "commonTier": false
    }
  ],

內容彼此重疊的檔案包

在內容模型中,套件的內容彼此相交 供應商販售內含其他套件內容的套裝內容。 下圖為套件結構範例。

套件 1、2 和 3 之間重疊的文氏圖
            標示為「Common Tier」(通用層級)
圖 7. 與內容交集的套件結構。

在以下程式碼範例中,供應商提供三個套件,其中包含 內容在所有套件中相交。在本例中,第四個套裝方案 代表必須指定共同層級的必須包含所有內容 適用於所有三種套件

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/1",
      "name": "Package 1",
      "sameAs": "https://www.example.com/package/1",
      "identifier": "example.com:package1",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/2",
      "name": "Package 2",
      "sameAs": "https://www.example.com/package/2",
      "identifier": "example.com:package2",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/3",
      "name": "Package 3",
      "sameAs": "https://www.example.com/package/3",
      "identifier": "example.com:package3",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/common",
      "name": "Common Tier Package",
      "sameAs": "https://www.example.com/package/common",
      "commonTier": true
    }
  ],

沒有內容重疊的套裝內容

在所有內容套件都不重疊的內容模型中,服務 供應商銷售的套裝方案中不含其他套件的內容。 下圖為套件結構範例。

套件 1、2 和 3 完全獨立。
圖 8.無交錯的套件結構 內容

在以下範例中,供應商提供三個沒有內容的套件 所有套件之間不會有交互作用不需要通用級套件。

"requiresSubscription": [
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/1",
      "name": "Package 1",
      "sameAs": "https://www.example.com/package/1",
      "identifier": "example.com:package1",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/2",
      "name": "Package 2",
      "sameAs": "https://www.example.com/package/2",
      "identifier": "example.com:package2",
      "commonTier": false
    },
    {
      "@type": "MediaSubscription",
      "@id": "https://www.example.com/package/3",
      "name": "Package 3",
      "sameAs": "https://www.example.com/package/3",
      "identifier": "example.com:package3",
      "commonTier": false
    }
  ],

授權端點

請使用本章節的資訊,代管會傳回 使用者的授權。

修課條件

開始之前,請確認您的服務支援 OAuth 2.0 流程

要求

為了接收使用者授權,Google 會傳送內含 使用者的 OAuth 權杖您的端點需要根據該 OAuth 識別使用者 產生下一個符記請參閱以下範例:

GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer <OAuthToken>

回應

您的端點需要傳回包含下列屬性的回應:

屬性
subscription

必要

這是根回應中的欄位。

subscription.type

必要

此屬性可具有下列值:

  • ActiveSubscription:使用者已擁有有效訂閱項目 傳送給供應者
  • ActiveTrial:使用者可用的試用方案: 。
  • InactiveSubscription:使用者沒有使用中 訂閱或正在試用的方案
subscription.expiration_date

選用

此授權的到期日,格式為 ISO 8601 格式, 包括時區詳情請參閱 到期日

entitlements

選用

此根屬性包含 entitlementId 值, 使用者訴訟保留。

entitlements.entitlement

如果串流目錄的存取權設定不同,則為必填 根據訂閱類型細分

這個屬性包含 entitlementId。如要 資訊,請參閱 授權 ID

entitlements.expiration_date

選用

這個訂閱項目的到期日,格式為 ISO 8601 格式, 包括時區詳情請參閱 到期日

到期日

端點回應包含兩個用來處理到期時間的屬性 日期:subscription.expiration_dateentitlements.expiration_date。個人中心 可以加入其中一個或兩者都不要,但不能同時加入兩者。實際做法取決於 訂閱模式

訂閱模式
所有訂閱者都能存取相同的串流目錄。 您不需要指定 entitlements 屬性,指定 subscription.expiration_date

存取串流目錄的方式,取決於 訂閱項目。

如果您的訂閱模式有多個訂閱級別或加購內容, 會在一段時間後失效,請執行下列其中一項動作:

  • 如果所有 entitlements.entitlement 值都到期 並在相同時間指定 subscription.expiration_date
  • 如果部分 entitlements.entitlement 值在 請指定 entitlements.expiration_date

回應範例

以下是不同訂閱狀態的回應範例:

  • 有效訂閱內容
  • 設有到期日的有效訂閱項目
  • 沒有訂閱項目
  • 多個訂閱等級或加購內容的有效訂閱

有效訂閱內容

有效訂閱方案

使用者已訂閱 example.com。在本 所有訂閱者都能存取你的所有串流目錄 以及各種訂閱類型


{
  "subscription" : {
    "type": "ActiveSubscription",
  }
}

設有到期日的有效訂閱項目

有效訂閱方案,有到期日

使用者已訂閱 example.com, 訂閱項目設有到期日。在這個範例中,所有訂閱者 存取所有串流目錄 (不限訂閱方案) 類型。


{
  "subscription" : {
    "type": "ActiveSubscription",
    "expiration_date": "2019-11-10T10:00:00Z"
  }
}

沒有訂閱項目

無訂閱

使用者未訂閱 example.com


{
  "subscription" : {
    "type": "InactiveSubscription"
  }
}

多個訂閱等級或加購內容的有效訂閱

多個訂閱等級或加購內容的有效訂閱項目

使用者在特定日期前訂閱了 example.com:premium


{
  "subscription" : {
    "type": "ActiveSubscription",
  }
  "entitlements": [
    {
      "entitlement": "example.com:premium",
      "expiration": "2019-11-10T10:00:00Z"
    }
  ]
}

頻率限制

Google 最多每六小時會更新使用者的授權資訊,目的地: 簡化每秒查詢次數 (QPS) 上限,Google 會將 隨時均勻地指向端點因此,您可以估算出 端點的 QPS,公式如下:

預期平均 QPS = <使用者總人數> / 21,600 秒 (6 小時 x 60 分 x 60 秒)

如果您支援的使用者數量眾多,Google 可以調整 6 小時的間隔時間。 如有需要,請與 Google 聯絡討論設定事宜。

與 Google 聯絡

端點準備就緒後,請與 Google 聯絡,將端點網址告知端點。

動作存取權規格屬性

詳情請參閱 參考「動作存取規格屬性」一節 可能不準確或不適當