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

ผู้ใช้ชอบดูหรือฟังเนื้อหาที่ตนเองเข้าถึงได้อยู่แล้ว เช่น เนื้อหาที่สมัครใช้บริการอยู่ หาก 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

  • ทั้งเจนและจอห์นมีสิทธิ์เข้าถึงภาพยนตร์ ก
  • Jane มีสิทธิ์เข้าถึงภาพยนตร์ B แต่ John ไม่มี
{
  "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 นอกเหนือจาก การสมัครใช้บริการ Basic ปลายทางการให้สิทธิ์จะแสดงตัวระบุentitlementIdต่อไปนี้
    • example.com:basic
    • example.com:pro
    • example.com:sportz
  • วิชัยมีการสมัครใช้บริการ Basic เท่านั้น ปลายทางสิทธิ์ของคุณ จะแสดงผล entitlementId ต่อไปนี้
    • example.com:basic
  • ฟีดการดำเนินการกับสื่อจะอธิบายข้อกำหนดต่อไปนี้
    • ภาพยนตร์ ก ต้องมี example.com:basic
    • ภาพยนตร์ ข ต้องมี example.com:pro

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

  • ทั้งเจนและจอห์นมีสิทธิ์เข้าถึงภาพยนตร์ ก
  • Jane มีสิทธิ์เข้าถึงภาพยนตร์ B แต่ John ไม่มี
{
  "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 Search, Android TV และ Google Assistant Google ต้องเข้าใจว่าเนื้อหาใดบ้างที่สมาชิกทุกคนเข้าถึงได้ผ่านการใช้แพ็กเกจทั่วไป เพื่อกำหนดความคาดหวังของผู้ใช้เกี่ยวกับค่าใช้จ่าย นอกจากนี้ Google ยังต้องเข้าใจว่า เนื้อหาใดบ้างที่สมาชิกจะรับชมได้เมื่อสมัครใช้แพ็กเกจการสมัครใช้บริการที่เฉพาะเจาะจง

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

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

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

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

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

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

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

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

ระดับ Gold มีเนื้อหาทั้งหมดของระดับ Silver ซึ่งมีเนื้อหาทั้งหมดของระดับ Bronze
รูปที่ 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 ของอุปกรณ์ปลายทาง

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

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