ข้อกําหนดในการเข้าถึง

ผู้ใช้ชอบดูหรือฟังเนื้อหาที่ตนเองเข้าถึงได้อยู่แล้ว เช่น เนื้อหาที่ต้องสมัครใช้บริการที่ตนเองมีอยู่ หาก Google ทราบว่าผู้ใช้เข้าถึงเนื้อหาใดได้ในแอปหรือแพลตฟอร์มของคุณ Google ก็จะมอบประสบการณ์การใช้งานที่เกี่ยวข้องมากขึ้นในแพลตฟอร์มต่างๆ ของ Google และนำผู้ใช้ไปยังเนื้อหานั้นได้

รูปที่ 1 ข้อกำหนดในการเข้าถึงจะช่วยให้ผู้ติดตามเข้าถึง เนื้อหาในแอปหรือแพลตฟอร์มของคุณได้

ระบุข้อกำหนดในการเข้าถึงเนื้อหา

คุณต้องระบุข้อกำหนดในการเข้าถึงสำหรับแพ็กเกจเนื้อหาแต่ละรายการในแคตตาล็อก เมื่อดำเนินการดังกล่าว ให้พิจารณาคำถามต่อไปนี้

  • ผู้ใช้ต้องเข้าสู่ระบบแอปหรือแพลตฟอร์มของคุณเพื่อเข้าถึงเนื้อหาหรือไม่
  • ผู้ใช้ต้องสมัครใช้บริการไหม

    การดำเนินการเพื่อรับชมเท่านั้น:

    • ผู้ใช้ต้องสมัครใช้บริการจากผู้ให้บริการภายนอกไหม
    • คุณมีแพ็กเกจการสมัครใช้บริการแบบแบ่งระดับ หลายแพ็กเกจ หรือแบบเสริมไหม
  • การดำเนินการดูเท่านั้น: ผู้ใช้ต้องเช่าหรือซื้อเนื้อหาไหม

  • ข้อกำหนดในการเข้าถึงจะเปลี่ยนแปลงไปตามเวลาไหม

  • ข้อกำหนดในการเข้าถึงขึ้นอยู่กับตำแหน่งของอุปกรณ์ไหม

ประเภทข้อจำกัดในการเข้าถึง

ข้อจำกัดในการเข้าถึงมี 2 ประเภท ได้แก่

ประเภทเพย์วอลล์

คุณจำกัดการเข้าถึงเนื้อหาตามประเภทเพย์วอลล์ได้ ตารางต่อไปนี้ แสดงรายละเอียดเพย์วอลล์ประเภทต่างๆ

ประเภทเพย์วอลล์ ตัวอย่าง หมวดหมู่
โดยไม่ต้องซื้อหรือเข้าสู่ระบบ 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"
    }
  },
  ...
}

พื้นที่ทางภูมิศาสตร์

คุณต้องระบุพื้นที่ทางภูมิศาสตร์ที่เนื้อหาพร้อมให้บริการ ใช้พร็อพเพอร์ตี้ต่อไปนี้อย่างน้อย 1 รายการ

ผู้ใช้จะเข้าถึงเนื้อหาได้หากตำแหน่งอุปกรณ์อยู่ในภูมิภาคที่ระบุใน eligibleRegion และไม่อยู่ในภูมิภาคที่ระบุใน ineligibleRegion

พร็อพเพอร์ตี้ eligibleRegion และ ineligibleRegion อนุญาตให้ใช้ค่าต่อไปนี้

หากเนื้อหามีให้บริการทั่วโลก ให้ใช้ค่าพิเศษต่อไปนี้สำหรับ eligibleRegion

"eligibleRegion": "EARTH",

กรณีการใช้งาน eligibleRegion

ตัวอย่างกรณีการใช้งานพร็อพเพอร์ตี้ eligibleRegion มีดังนี้

  • ตัวอย่างที่ 1: eligibleRegion พร้อมรายชื่อประเทศ
  • ตัวอย่างที่ 2: eligibleRegion ที่มีออบเจ็กต์ GeoShape ซึ่ง มีรายการรหัสไปรษณีย์
  • ตัวอย่างที่ 3: eligibleRegion ที่มีออบเจ็กต์ GeoShape ซึ่ง มีรายการรหัส Forward Sortation Area (FSA)
  • ตัวอย่างที่ 4: eligibleRegion ที่มีออบเจ็กต์ GeoShape ซึ่ง มีรหัส DMA
  • ตัวอย่างที่ 5: eligibleRegion ที่มีรายการออบเจ็กต์ GeoShape แต่ละรายการจะมีรหัส DMA
  • ตัวอย่างที่ 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 ซึ่ง มีรายการรหัส Forward Sortation Area (FSA) ดังนี้


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

ตัวอย่าง 4

eligibleRegion ที่มีออบเจ็กต์ GeoShape ซึ่งมี รหัส DMA


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

ตัวอย่างที่ 5

eligibleRegion ที่มีรายการออบเจ็กต์ GeoShape แต่ละรายการจะมีรหัส DMA ดังนี้


"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
  },
  "additionalProperty": {
      "@type": "PropertyValue",
      "name": "DisplaySubscriptionIdentifier",
      "value": "http://www.example.com/local_tv_network/subscription"
  },
 "eligibleRegion":   {
      "@type": "Country",
      "name": "US"
    },
  "ineligibleRegion": {
    "@type": "GeoShape",
    "@id": "http://example.com/area1",
    "addressCountry": "US",
    "postalCode": [
      "94118",
      "94119"
    ]
  }
}

ตัวระบุการให้สิทธิ์

ตัวระบุสิทธิ์ entitlementId หมายถึงสตริงที่แสดงถึง สิทธิ์เข้าถึงกลุ่มเนื้อหาในแคตตาล็อกสื่อ Google จะทำตามขั้นตอนต่อไปนี้เพื่อพิจารณาว่าผู้ใช้มีสิทธิ์เข้าถึงเนื้อหาของคุณหรือไม่

  1. เราจะเรียกใช้ API ไปยังปลายทางการให้สิทธิ์ของคุณเพื่อรับ ตัวระบุการให้สิทธิ์ของผู้ใช้
  2. เราจะค้นหาตัวระบุการให้สิทธิ์ที่จำเป็นของเนื้อหาจากฟีด Media Actions
  3. เราจะจับคู่ entitlementId ของผู้ใช้กับพร็อพเพอร์ตี้ identifier ของออบเจ็กต์การสมัครใช้บริการสื่อในฟีด หากมีentitlementIdอย่างน้อย 1 รายการที่ตรงกัน เราจะพิจารณาว่าผู้ใช้เข้าถึงเนื้อหาได้
รูปที่ 2 ตัวระบุสิทธิ์ของผู้ใช้รายใดรายหนึ่งตรงกับ ตัวระบุสิทธิ์ที่จำเป็นของเนื้อหา

Google ขอแนะนำให้คุณใช้ไวยากรณ์ต่อไปนี้สำหรับ entitlementId

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

ตัวอย่างไวยากรณ์

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

ตัวอย่างตัวระบุสิทธิ์

ฟีดของ 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
        ...
      },
      "additionalProperty": {
        "@type": "PropertyValue",
        "name": "DisplaySubscriptionIdentifier",
        "value": "http://www.example.com/basic_subscription"
      },
      ...
    }
  },
  ...
}

กรณีการใช้งานการเข้าถึงทั่วไป

กรณีการใช้งานการเข้าถึงที่พบบ่อยมีดังนี้

  • ฟรี (ไม่ต้องเข้าสู่ระบบ): เนื้อหา พร้อมให้รับชมโดยไม่ต้องเข้าสู่ระบบ สมัครใช้บริการ หรือซื้อ
  • ฟรี (ต้องเข้าสู่ระบบ): เนื้อหา กำหนดให้ผู้ใช้ต้องเข้าสู่ระบบ แต่ไม่ต้องสมัครใช้บริการ
  • การสมัครใช้บริการแบบแพ็กเกจเดียว: เนื้อหาต้องมีการสมัครใช้บริการ สมาชิกทุกคนจะเข้าถึงเนื้อหาเดียวกันได้ ไม่ว่าจะเป็นภาพยนตร์หรือตอนต่างๆ โดยไม่คำนึงถึงแพ็กเกจการสมัครใช้บริการ
  • การสมัครใช้บริการแบบหลายระดับ: เนื้อหาต้องมีการสมัครใช้บริการ สมาชิกจะเข้าถึงเนื้อหาต่างๆ ได้ ไม่ว่าจะเป็นภาพยนตร์หรือตอนต่างๆ โดยขึ้นอยู่กับระดับการสมัครใช้บริการ เช่น Silver เทียบกับ Gold
  • การสมัครใช้บริการแพ็กเกจเสริม: เนื้อหา ต้องมีการสมัครใช้บริการ ผู้ติดตามสามารถเพิ่มเนื้อหาระดับพรีเมียมนอกเหนือจากการสมัครใช้บริการปกติได้
  • การซื้อครั้งเดียว: ผู้ใช้สามารถซื้อเนื้อหาได้ หลังจากนั้นผู้ใช้จะเข้าถึงเนื้อหาได้ไม่จำกัด
  • รายการทีวีสด: การสมัครใช้บริการรวมถึงสิทธิ์เข้าถึง ช่องท้องถิ่น ช่องระดับประเทศ และช่องพรีเมียม
  • การสมัครใช้บริการของบุคคลที่สาม: เนื้อหาดังกล่าวกำหนดให้ผู้ใช้ต้องเข้าสู่ระบบด้วยผู้ให้บริการเคเบิล

ฟรี (ไม่ต้องเข้าสู่ระบบ)

ไม่ต้องเข้าสู่ระบบ

เนื้อหาพร้อมให้รับชมโดยไม่ต้องเข้าสู่ระบบหรือสมัครใช้บริการ


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

การสมัครใช้บริการแบบระดับเดียว

ในรูปแบบการสมัครใช้บริการแบบชั้นเดียว ผู้ให้บริการจะมี ระดับการสมัครใช้บริการ 1 ระดับ สมาชิกทุกคนจะเข้าถึงเนื้อหาเดียวกันได้ ไม่ว่าจะเป็นภาพยนตร์หรือตอนต่างๆ โดยไม่คำนึงถึงแพ็กเกจการสมัครใช้บริการ


{
  "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"
    },
    "additionalProperty": {
      "@type": "PropertyValue",
      "name": "DisplaySubscriptionIdentifier",
      "value": "http://www.example.com/example_package"
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

การสมัครใช้บริการแบบหลายระดับ

ในรูปแบบการสมัครใช้บริการแบบแบ่งระดับ ผู้ให้บริการจะมีระดับการสมัครใช้บริการหลายระดับ เช่น Gold, Silver และ Bronze ผู้ใช้ที่สมัครใช้บริการระดับบนสุดจะเข้าถึงเนื้อหาระดับล่างทั้งหมดได้ อย่างไรก็ตาม ผู้ใช้ที่สมัครใช้บริการระดับล่างจะเข้าถึงเนื้อหาระดับบนไม่ได้

รูปที่ 3 รูปแบบการสมัครใช้บริการแบบหลายระดับและการ แสดงสิทธิ์

พิจารณาสถานการณ์ต่อไปนี้

  • เจนสมัครใช้บริการระดับ Gold ปลายทางสิทธิ์ของคุณ จะแสดงผลตัวระบุ entitlementId ต่อไปนี้
    • example.com:bronze
    • example.com:silver
    • example.com:gold
  • จอห์นสมัครใช้บริการแพ็กเกจระดับบรอนซ์ ปลายทางสิทธิ์ของคุณจะแสดง entitlementId ต่อไปนี้
    • example.com:bronze
  • ฟีดการใช้สื่อของคุณต้องอธิบายข้อกำหนดต่อไปนี้
    • ภาพยนตร์ ก ต้องมี example.com:bronze
    • ภาพยนตร์ ข ต้องมี example.com:silver

ในกรณีนี้ Google จะกำหนดระดับการเข้าถึงต่อไปนี้สำหรับ Jane และ John

  • ทั้งเจนและจอห์นมีสิทธิ์เข้าถึงภาพยนตร์ ก.
  • เจนมีสิทธิ์เข้าถึงภาพยนตร์ B แต่จอห์นไม่มี
{
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "requiresSubscription": {
      "@type": "MediaSubscription",
      "@id": "http://www.example.com/basic_subscription",
      "name": "Bronze",
      "commonTier": true
      ...
    },
    "additionalProperty": {
      "@type": "PropertyValue",
      "name": "DisplaySubscriptionIdentifier",
      "value": "http://www.example.com/basic_subscription"
    },
    ...
  }
}

การสมัครใช้บริการเสริม

ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ ขยายสิทธิ์และเพิ่มช่องในการสมัครใช้บริการพื้นฐาน ผู้ใช้ สามารถเพิ่มช่องได้มากเท่าที่ต้องการ

รูปที่ 4 รูปแบบการสมัครใช้บริการส่วนเสริมและการ แสดงสิทธิ์

พิจารณาสถานการณ์ต่อไปนี้

  • เจนจิรามีแพ็กเกจ PRO และ Sportz นอกเหนือจากแพ็กเกจพื้นฐาน ปลายทางสิทธิ์ของคุณจะแสดงentitlementIdตัวระบุต่อไปนี้
    • example.com:basic
    • example.com:pro
    • example.com:sportz
  • John มีการสมัครใช้บริการ Basic เท่านั้น ปลายทางสิทธิ์ของคุณจะแสดง entitlementId ต่อไปนี้
    • example.com:basic
  • ฟีดการใช้สื่อของคุณต้องอธิบายข้อกำหนดต่อไปนี้
    • ภาพยนตร์ ก ต้องมี example.com:basic
    • ภาพยนตร์ ข ต้องมี example.com:pro

ในกรณีนี้ Google จะกำหนดระดับการเข้าถึงต่อไปนี้สำหรับ Jane และ John

  • ทั้งเจนและจอห์นมีสิทธิ์เข้าถึงภาพยนตร์ ก.
  • เจนมีสิทธิ์เข้าถึงภาพยนตร์ 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
        }
    ],
      "additionalProperty": {
        "@type": "PropertyValue",
        "name": "DisplaySubscriptionIdentifier",
        "value": "http://www.example.com/package/basic"
      },
    }
  }
}

การซื้อครั้งเดียว

ซื้อ

เนื้อหาจะพร้อมให้รับชมโดยไม่มีกำหนดสิ้นสุดหลังจากที่ซื้อ


{
  "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 เพื่อระบุราคาของ การเช่า

รายการทีวีสด

ในฟีดการใช้สื่อ คุณสามารถจำกัดการเข้าถึงช่องหรือกิจกรรมรายการทีวีสดได้โดยอิงตามเงื่อนไขของผู้ใช้ 2 ข้อต่อไปนี้

  • ตำแหน่งอุปกรณ์ของผู้ใช้

    หากต้องการจำกัดการเข้าถึงช่องทีวี ให้ระบุพื้นที่ที่ผู้ใช้ มีสิทธิ์เข้าถึง โดยปกติแล้ว เงื่อนไขนี้จะมีผลกับช่องทีวีที่ออกอากาศในท้องถิ่น

  • สถานะบัญชีของผู้ใช้

    หากการเข้าถึงช่องทีวีขึ้นอยู่กับการตั้งค่าระดับบัญชีของผู้ใช้ ให้ใช้ ตัวระบุสิทธิ์เพื่อ แสดงข้อจำกัด

    โดยปกติแล้ว เงื่อนไขนี้จะมีผลกับกรณีการใช้งานต่อไปนี้

    • แพ็กเกจ: ช่องระดับประเทศมักรวมอยู่ใน แพ็กเกจ และผู้ใช้จะเลือกแพ็กเกจที่ต้องการสมัครใช้บริการ
    • ส่วนเสริม: ช่องพรีเมียมบางช่องกำหนดให้ผู้ใช้ต้อง เลือกเพิ่มช่องพิเศษลงในการสมัครใช้บริการ
    • เครือข่ายกีฬาระดับภูมิภาค (RSN): โดยปกติแล้ว RSN จะ เชื่อมโยงกับตำแหน่ง "บ้าน" ของผู้ใช้ ผู้ใช้สามารถดูเนื้อหา ใน RSN ได้แม้ว่าจะเดินทางออกนอกสถานที่ "บ้าน"

การสมัครใช้บริการของบุคคลที่สาม

การสมัครใช้บริการของบุคคลที่สาม

เนื้อหาพร้อมให้บริการแก่สมาชิกจากบริการอื่น


{
  "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"
      }
    },
    "additionalProperty": {
      "@type": "PropertyValue",
      "name": "DisplaySubscriptionIdentifier",
      "value": "http://www.example.com/faq"
     },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}
  • เพิ่ม authenticator เพื่อระบุว่าบริการอื่น ตรวจสอบสิทธิ์สมาชิก เช่น HBO GO ต้องใช้ การสมัครใช้บริการจากผู้ให้บริการเคเบิล

แพ็กเกจระดับทั่วไป

เนื้อหาในระดับทั่วไปพร้อมให้บริการแก่สมาชิกทุกคนไม่ว่าจะเป็นแพ็กเกจการสมัครใช้บริการใดก็ตาม ระดับทั่วไปจะมีผลกับเนื้อหาทั้งหมดที่มีcategory ของsubscription ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้ category ได้ที่ส่วน ประเภทเพย์วอลล์

ทำไมจึงต้องใช้แพ็กเกจระดับทั่วไป

แพลตฟอร์มต่างๆ ของ Google จะแสดงคำแนะนำรายการทีวีและภาพยนตร์แก่ผู้ใช้ Google ต้องเข้าใจว่าเนื้อหาใดบ้างที่สมาชิกทุกคนเข้าถึงได้ผ่านการใช้ระดับทั่วไป เพื่อให้ ผู้ใช้ทราบถึงค่าใช้จ่าย นอกจากนี้ Google ยังต้องเข้าใจว่าเนื้อหาใดบ้างที่สมาชิกสามารถเข้าถึงได้เมื่อสมัครใช้แพ็กเกจการสมัครใช้บริการที่เฉพาะเจาะจง

Google ขอแนะนำให้ใช้ภาพยนตร์/รายการทีวีที่พร้อมให้บริการในระดับทั่วไป เว้นแต่คุณจะรองรับ Entitlement API API นี้ช่วยให้ Google เข้าใจภาพยนตร์/รายการทีวีที่ไม่ใช่ระดับทั่วไปที่ผู้ใช้แต่ละรายเข้าถึงได้

ฉันควรสร้างแพ็กเกจระดับทั่วไปเมื่อใด

คุณต้องมีแพ็กเกจระดับทั่วไปเมื่อบริการของคุณมีเนื้อหาที่ พร้อมให้บริการแก่ผู้ติดตามทุกคน ซึ่งรวมถึงบริการที่เสนอแพ็กเกจเดียวและบริการที่เสนอแพ็กเกจหรือส่วนเสริมหลายรายการ

ผู้ให้บริการที่ไม่มีเนื้อหาพร้อมให้บริการแก่สมาชิกทุกคนไม่จำเป็นต้องสร้าง แพ็กเกจระดับทั่วไป ตัวอย่างเช่น ผู้ให้บริการที่นำเสนอเนื้อหาที่แยกกัน ในทุกแพ็กเกจ

ตัวอย่างระดับที่พบบ่อย

ตัวอย่างของระดับทั่วไปมีดังนี้

การสมัครใช้บริการแบบหลายระดับ

ในรูปแบบการสมัครใช้บริการแบบแบ่งระดับ ผู้ให้บริการจะมีระดับการสมัครใช้บริการหลายระดับ เช่น ระดับทอง ระดับเงิน และระดับบรอนซ์ ผู้ใช้ที่มี การสมัครใช้บริการระดับบนสุดจะมีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับล่าง ผู้ใช้ ที่สมัครใช้บริการแพ็กเกจระดับล่างจะไม่มีสิทธิ์เข้าถึงเนื้อหาในแพ็กเกจระดับบน รูปภาพต่อไปนี้เป็นตัวอย่างโครงสร้างแพ็กเกจ

ระดับโกลด์มีเนื้อหาทั้งหมดของระดับซิลเวอร์ ซึ่งมีเนื้อหาทั้งหมดของระดับบรอนซ์
รูปที่ 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 มีป้ายกำกับว่า &quot;ระดับทั่วไป&quot;
รูปที่ 7 โครงสร้างแพ็กเกจที่มีเนื้อหาที่ทับซ้อนกัน

ในตัวอย่างโค้ดต่อไปนี้ ผู้ให้บริการเสนอแพ็กเกจ 3 แพ็กเกจซึ่งมีเนื้อหาบางส่วน ที่ซ้ำกันในทุกแพ็กเกจ ในกรณีนี้ คุณจะต้องมีแพ็กเกจที่ 4 ซึ่งแสดงถึงระดับทั่วไป โดยต้องมีเนื้อหาทั้งหมด ที่พร้อมให้บริการในทั้ง 3 แพ็กเกจ

"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 โครงสร้างแพ็กเกจที่ไม่มีเนื้อหาที่ทับซ้อนกัน

ในตัวอย่างต่อไปนี้ ผู้ให้บริการเสนอแพ็กเกจ 3 แพ็กเกจที่ไม่มีเนื้อหา ที่ซ้ำกันในทุกแพ็กเกจ ไม่ต้องใช้แพ็กเกจระดับทั่วไป

"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
    }
  ],

ปลายทางสิทธิ์

ใช้ข้อมูลจากส่วนนี้เพื่อโฮสต์ปลายทาง HTTPS ที่แสดงสิทธิ์ที่เชื่อมโยงกับผู้ใช้

วิชาบังคับก่อน

ก่อนเริ่มต้น โปรดตรวจสอบว่าบริการของคุณรองรับขั้นตอน OAuth 2.0 กับ Google

ส่งคำขอ

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 ดูข้อมูลเพิ่มเติมได้ที่ตัวระบุสิทธิ์

entitlements.expiration_date

ไม่บังคับ

วันที่การสมัครใช้บริการนี้หมดอายุในรูปแบบ ISO 8601 ซึ่งรวมถึงเขตเวลา ดูรายละเอียดเพิ่มเติมได้ที่ วันที่หมดอายุ

วันที่หมดอายุ

การตอบกลับของปลายทางมีพร็อพเพอร์ตี้ 2 รายการที่เกี่ยวข้องกับวันที่หมดอายุ ได้แก่ subscription.expiration_date และ entitlements.expiration_date คุณจะใส่หรือไม่ใส่ก็ได้ แต่จะใส่ทั้ง 2 อย่างไม่ได้ ซึ่งคุณจะใช้ตัวใดนั้นขึ้นอยู่กับ รูปแบบการสมัครใช้บริการของคุณ

รูปแบบการสมัครใช้บริการ
สิทธิ์เข้าถึงแคตตาล็อกการสตรีมจะเหมือนกันทั้งหมดสำหรับสมาชิกทุกคน เนื่องจากคุณไม่จำเป็นต้องระบุพร็อพเพอร์ตี้ 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 จะรีเฟรชข้อมูลสิทธิ์ของผู้ใช้ทุกๆ 6 ชั่วโมง Google จะกระจายคำค้นหาไปยังปลายทางของคุณอย่างสม่ำเสมอตลอดเวลาเพื่อลดความผันผวนของจำนวนคำค้นหาต่อวินาที (QPS) สูงสุด ดังนั้น คุณสามารถประมาณ QPS เฉลี่ยที่คาดไว้สำหรับปลายทางได้โดยใช้สูตรต่อไปนี้

QPS เฉลี่ยที่คาดไว้ = <จำนวนผู้ใช้ทั้งหมด> / 21,600 วินาที (6 ชั่วโมง x 60 นาที x 60 วินาที)

หากคุณรองรับผู้ใช้จำนวนมาก Google สามารถปรับช่วงเวลา 6 ชั่วโมงได้ หากจำเป็น โปรดติดต่อ Google เพื่อพูดคุยเกี่ยวกับการกำหนดค่า

ติดต่อ Google

เมื่อปลายทางพร้อมแล้ว ให้ติดต่อ Google เพื่อแจ้ง URL ของปลายทาง

พร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ

ดูข้อมูลอ้างอิงได้ที่ส่วนพร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ