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

ระบุข้อกำหนดในการเข้าถึงเนื้อหา
คุณต้องระบุข้อกำหนดในการเข้าถึงสำหรับแพ็กเกจเนื้อหาแต่ละรายการในแคตตาล็อก เมื่อดำเนินการดังกล่าว ให้พิจารณาคำถามต่อไปนี้
- ผู้ใช้ต้องเข้าสู่ระบบแอปหรือแพลตฟอร์มของคุณเพื่อเข้าถึงเนื้อหาหรือไม่
ผู้ใช้ต้องสมัครใช้บริการไหม
การดำเนินการเพื่อรับชมเท่านั้น:
- ผู้ใช้ต้องสมัครใช้บริการจากผู้ให้บริการภายนอกหรือไม่
- คุณเสนอการสมัครใช้บริการแบบแบ่งระดับ หลายแพ็กเกจ หรือแบบเสริมไหม
การดำเนินการดูเท่านั้น: ผู้ใช้ต้องเช่าหรือซื้อเนื้อหาหรือไม่
ข้อกำหนดในการเข้าถึงจะเปลี่ยนแปลงไปตามเวลาไหม
ข้อกำหนดในการเข้าถึงขึ้นอยู่กับตำแหน่งของอุปกรณ์ไหม
ประเภทข้อจำกัดในการเข้าถึง
การจำกัดการเข้าถึงมี 2 ประเภท ได้แก่
ประเภทเพย์วอลล์
คุณจำกัดการเข้าถึงเนื้อหาตามประเภทเพย์วอลล์ได้ ตารางต่อไปนี้ แสดงรายละเอียดเพย์วอลล์ประเภทต่างๆ
ประเภทเพย์วอลล์ | ตัวอย่าง | หมวดหมู่ |
---|---|---|
โดยไม่ต้องซื้อหรือเข้าสู่ระบบ | Crackle | nologinrequired |
ผู้ใช้ต้องเข้าสู่ระบบ แต่ไม่จำเป็นต้องมีการสมัครใช้บริการแบบชำระเงิน | Vudu (AVOD) | free |
ผู้ใช้ต้องมีการสมัครใช้บริการที่ใช้งานอยู่ สิทธิ์เข้าถึงจะไม่ขึ้นอยู่กับ ระดับการสมัครใช้บริการ | Netflix |
|
ผู้ใช้ต้องมีการสมัครใช้บริการที่ใช้งานอยู่ การเข้าถึงจะขึ้นอยู่กับ ระดับการสมัครใช้บริการ | Hulu (ส่วนเสริม) |
|
เนื้อหาจะพร้อมให้บริการเป็นระยะเวลาหนึ่งหลังจากที่ซื้อ | 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
และ ineligibleRegion
อนุญาตค่าต่อไปนี้
- รายการ
Country
City
และState
- ออบเจ็กต์
GeoShape
ดูข้อกำหนดโดยละเอียดได้ในส่วนGeoShape
พร็อพเพอร์ตี้ - รายการออบเจ็กต์
GeoShape
รายการ
หากเนื้อหามีให้บริการทั่วโลก ให้ใช้ค่าพิเศษต่อไปนี้สำหรับ
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 จะทำตามขั้นตอนต่อไปนี้เพื่อพิจารณาว่าผู้ใช้มีสิทธิ์เข้าถึงเนื้อหาของคุณหรือไม่
- เราจะเรียก API ไปยังปลายทางการให้สิทธิ์ของคุณเพื่อรับ ตัวระบุการให้สิทธิ์ของผู้ใช้
- เราจะค้นหาตัวระบุการให้สิทธิ์ที่จำเป็นของเนื้อหาจากฟีด Media Actions
- เราจะจับคู่
entitlementId
ของผู้ใช้กับพร็อพเพอร์ตี้identifier
ของออบเจ็กต์ การสมัครใช้บริการสื่อในฟีด หากมีentitlementId
อย่างน้อย 1 รายการที่ตรงกัน เราจะพิจารณาว่าผู้ใช้เข้าถึงเนื้อหาได้

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

พิจารณาสถานการณ์ต่อไปนี้
- เจนสมัครใช้แพ็กเกจระดับ 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" }, ... } }
การสมัครใช้บริการเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ ขยายสิทธิ์และเพิ่มช่องลงในการสมัครใช้บริการพื้นฐาน ผู้ใช้ เพิ่มช่องได้มากเท่าที่ต้องการ

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

ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจบรอนซ์เป็นระดับทั่วไปเนื่องจากผู้ใช้ทั้งหมด มีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับนั้น
"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 } ],
ส่วนเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ขยาย สิทธิ์และเพิ่มช่องลงในการสมัครใช้บริการพื้นฐาน ผู้ใช้จะเพิ่มช่องได้มากเท่าที่ต้องการ รูปภาพต่อไปนี้เป็นตัวอย่างของโครงสร้างแพ็กเกจ

หากคุณมีช่องที่พร้อมให้บริการแก่ผู้ใช้ทุกคนและไม่มีค่าใช้จ่ายสำหรับช่อง คุณจะผสานรวมแพ็กเกจกับแพ็กเกจระดับทั่วไปได้
ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจพื้นฐานเป็นระดับทั่วไปเนื่องจากผู้ใช้ทั้งหมด มีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในแพ็กเกจนี้
"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 } ],
แพ็กเกจที่มีเนื้อหาที่ทับซ้อนกัน
ในรูปแบบเนื้อหาที่แพ็กเกจมีเนื้อหาที่ทับซ้อนกัน ผู้ให้บริการจะขายแพ็กเกจที่มีเนื้อหาบางส่วนจากแพ็กเกจอื่นๆ รูปภาพต่อไปนี้เป็นตัวอย่างโครงสร้างแพ็กเกจ

ในตัวอย่างโค้ดต่อไปนี้ ผู้ให้บริการเสนอแพ็กเกจ 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 } ],
แพ็กเกจที่ไม่มีเนื้อหาที่ทับซ้อนกัน
ในโมเดลเนื้อหาที่แพ็กเกจเนื้อหาทั้งหมดไม่ทับซ้อนกัน ผู้ให้บริการจะขายแพ็กเกจที่ไม่มีเนื้อหาจากแพ็กเกจอื่นๆ รูปภาพต่อไปนี้เป็นตัวอย่างโครงสร้างแพ็กเกจ

ในตัวอย่างต่อไปนี้ ผู้ให้บริการเสนอแพ็กเกจ 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 |
จำเป็น พร็อพเพอร์ตี้นี้อาจมีค่าดังต่อไปนี้
|
subscription.expiration_date |
ไม่บังคับ วันที่หมดอายุของสิทธิ์นี้ในรูปแบบ ISO 8601 ซึ่งรวมถึงเขตเวลา โปรดดูรายละเอียดเพิ่มเติมที่ วันที่หมดอายุ |
entitlements |
ไม่บังคับ พร็อพเพอร์ตี้รูทนี้มีค่า |
entitlements.entitlement |
ต้องระบุหากสิทธิ์เข้าถึงแคตตาล็อกการสตรีมแตกต่างกัน ตามประเภทการสมัครใช้บริการ พร็อพเพอร์ตี้นี้มี |
entitlements.expiration_date |
ไม่บังคับ วันที่การสมัครใช้บริการนี้หมดอายุในรูปแบบ ISO 8601 ซึ่งรวมถึงเขตเวลา โปรดดูรายละเอียดเพิ่มเติมที่ วันที่หมดอายุ |
วันที่หมดอายุ
การตอบกลับของปลายทางมีพร็อพเพอร์ตี้ 2 รายการที่เกี่ยวข้องกับวันหมดอายุ ได้แก่ subscription.expiration_date
และ entitlements.expiration_date
คุณจะรวมแอตทริบิวต์ใดแอตทริบิวต์หนึ่งหรือจะไม่รวมเลยก็ได้ แต่จะรวมทั้ง 2 แอตทริบิวต์ไม่ได้ ซึ่งคุณจะใช้ตัวใดขึ้นอยู่กับ
รูปแบบการสมัครใช้บริการ
รูปแบบการสมัครใช้บริการ | |
---|---|
สิทธิ์เข้าถึงแคตตาล็อกการสตรีมจะเหมือนกันสำหรับสมาชิกทุกคน | เนื่องจากคุณไม่จำเป็นต้องระบุพร็อพเพอร์ตี้ entitlements
ให้ระบุ subscription.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 ของอุปกรณ์ปลายทาง
พร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ
ดูข้อมูลอ้างอิงได้ที่ส่วนพร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ