ผู้ใช้ต้องการดูหรือฟังเนื้อหาที่มีสิทธิ์เข้าถึงอยู่แล้ว เช่น เนื้อหาที่สมัครใช้บริการที่มีอยู่ ถ้า Google รู้เนื้อหาที่ผู้ใช้สามารถทำได้ เข้าถึงแอปหรือแพลตฟอร์มของคุณ Google จะสร้างผลการค้นหาที่ดีขึ้นได้ หรือตอบสนองเพื่อนำทางผู้ใช้ ไปยังเนื้อหานั้น
![](https://developers.google.cn/static/actions/media/images/image-entitlements-4.png?authuser=6&hl=th)
ระบุข้อกำหนดในการเข้าถึงเนื้อหา
คุณต้องระบุข้อกำหนดการเข้าถึงสำหรับแพ็กเกจเนื้อหาแต่ละแพ็กเกจใน แคตตาล็อก เมื่อคุณทำเช่นนั้น โปรดพิจารณาคำถามต่อไปนี้
- ผู้ใช้ต้องเข้าสู่ระบบในแอปหรือแพลตฟอร์มของคุณเพื่อเข้าถึงเนื้อหาหรือไม่
ผู้ใช้ต้องมีการสมัครใช้บริการไหม
การดำเนินการเพื่อรับชมเท่านั้น
- ผู้ใช้จำเป็นต้องสมัครใช้บริการจากผู้ให้บริการภายนอกไหม
- คุณเสนอการสมัครใช้บริการแบบเป็นขั้น หลายแพ็กเกจ หรือส่วนเสริมไหม
การดำเนินการเพื่อรับชมเท่านั้น: ผู้ใช้ต้องเช่าหรือซื้อเนื้อหาไหม
ข้อกำหนดการเข้าถึงมีการเปลี่ยนแปลงเมื่อเวลาผ่านไปหรือไม่
ข้อกำหนดในการเข้าถึงขึ้นอยู่กับตำแหน่งของอุปกรณ์หรือไม่
ประเภทการจํากัดการเข้าถึง
การจำกัดการเข้าถึงมี 2 ประเภทดังนี้
ประเภทเพย์วอลล์
คุณจำกัดการเข้าถึงเนื้อหาได้ตามประเภทเพย์วอลล์ ตารางต่อไปนี้ ให้รายละเอียดเกี่ยวกับเพย์วอลล์ประเภทต่างๆ
ประเภทเพย์วอลล์ | ตัวอย่าง | หมวดหมู่ |
---|---|---|
ไม่จำเป็นต้องซื้อหรือเข้าสู่ระบบ | Crackle | nologinrequired |
ผู้ใช้ต้องเข้าสู่ระบบ แต่ไม่จำเป็นต้องสมัครใช้บริการแบบชำระเงิน | วูดู (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"
}
},
...
}
พื้นที่ทางภูมิศาสตร์
คุณต้องระบุพื้นที่ทางภูมิศาสตร์ที่เนื้อหาพร้อมให้บริการ ใช้รายการเดียวหรือ ทั้ง 2 พร็อพเพอร์ตี้ต่อไปนี้
- พร็อพเพอร์ตี้
eligibleRegion
ของ ข้อกำหนดการเข้าถึงการดำเนินการ ออบเจ็กต์ ต้องระบุพร็อพเพอร์ตี้นี้ - พร็อพเพอร์ตี้
ineligibleRegion
ของ ข้อกำหนดการเข้าถึงการดำเนินการ ออบเจ็กต์
ผู้ใช้จะเข้าถึงเนื้อหาได้หากตําแหน่งของอุปกรณ์อยู่ภายในภูมิภาคที่
ที่ระบุใน eligibleRegion
และไม่ได้อยู่ภายในภูมิภาคที่ระบุไว้ใน
ineligibleRegion
พร็อพเพอร์ตี้ eligibleRegion
และ ineligibleRegion
อนุญาตสิ่งต่อไปนี้
มีดังนี้
- รายการ
Country
City
และState
- ต
GeoShape
ออบเจ็กต์ โปรดดู พร็อพเพอร์ตี้GeoShape
สำหรับข้อกำหนดโดยละเอียด - รายการออบเจ็กต์
GeoShape
รายการ
หากเนื้อหามีให้บริการทั่วโลก ให้ใช้ค่าพิเศษต่อไปนี้สำหรับ
eligibleRegion
:
"eligibleRegion": "EARTH",
กรณีการใช้งานในภูมิภาคที่มีสิทธิ์
ต่อไปนี้คือตัวอย่างกรณีการใช้งานของพร็อพเพอร์ตี้ 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 }, "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 }, "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 }, "eligibleRegion": { "@type": "Country", "name": "US" }, "ineligibleRegion": { "@type": "GeoShape", "@id": "http://example.com/area1", "addressCountry": "US", "postalCode": [ "94118", "94119" ] } }
ตัวระบุการให้สิทธิ์
ตัวระบุการให้สิทธิ์ entitlementId
หมายถึงสตริงที่แสดงถึง
การเข้าถึงกลุ่มของเนื้อหา
ในแคตตาล็อกสื่อของคุณ หากต้องการตรวจสอบว่าผู้ใช้
มีสิทธิ์เข้าถึงเนื้อหาของคุณ Google จะดำเนินการดังต่อไปนี้
- เราได้เรียก API ไปยัง ปลายทางการให้สิทธิ์เพื่อรับ ตัวระบุการให้สิทธิ์
- เราจะค้นหาตัวระบุการให้สิทธิ์ที่จำเป็นของเนื้อหาจากสื่อของคุณ ฟีดการดำเนินการ
- เราจับคู่
entitlementId
ของผู้ใช้กับidentifier
ของ ออบเจ็กต์การสมัครใช้บริการสื่อในฟีด หากมีอย่างน้อยentitlementId
ที่ตรงกัน 1 รายการ เราจะพิจารณาว่าผู้ใช้สามารถเข้าถึง เนื้อหา
![](https://developers.google.cn/static/actions/media/images/image-entitlements-5.png?authuser=6&hl=th)
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 ... }, ... } }, ... }
Use Case การเข้าถึงทั่วไป
กรณีการใช้งานการเข้าถึงที่พบบ่อยมีดังนี้
- ฟรี (ไม่ต้องเข้าสู่ระบบ): เนื้อหาพร้อมใช้งานโดยไม่ต้องเข้าสู่ระบบ สมัครสมาชิก หรือซื้อ
- ฟรี (ต้องเข้าสู่ระบบ): ผู้ใช้ต้องเข้าสู่ระบบ แต่เนื้อหาไม่จำเป็นต้องสมัครรับข้อมูล
- การสมัครใช้บริการระดับเดียว ต้องสมัครใช้บริการเพื่อดูเนื้อหานี้ สมาชิกทุกคนสามารถเข้าถึงเนื้อหา เนื้อหาต่างๆ ไม่ว่าจะเป็นภาพยนตร์หรือตอน โดยไม่คำนึงถึงการติดตาม ใหม่
- การสมัครใช้บริการแบบหลายชั้น: คุณต้องสมัครใช้บริการเพื่อดูเนื้อหา สมาชิกสามารถเข้าถึง เนื้อหาที่แตกต่างกัน ไม่ว่าจะเป็นภาพยนตร์หรือตอน โดยอิงตามระดับการสมัครใช้บริการ ตัวอย่างเช่น 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
การสมัครใช้บริการระดับเดียว
ในรูปแบบการสมัครใช้บริการระดับเดียว ผู้ให้บริการจะมี ระดับการสมัครใช้บริการ สมาชิกทุกคนสามารถเข้าถึงเนื้อหาเดียวกันได้ ไม่ว่าจะเป็น ภาพยนตร์หรือตอน ไม่ว่าจะมีแพ็กเกจการติดตามเท่าใดก็ตาม
{ "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 และ Bronze ผู้ใช้ที่มีการสมัครใช้บริการระดับสูงกว่าจะเข้าถึงได้ทั้งหมด เนื้อหาระดับล่างสุด อย่างไรก็ตาม ผู้ใช้ที่มีสมาชิกระดับต่ำกว่า ไม่สามารถเข้าถึงเนื้อหาระดับบนได้
![](https://developers.google.cn/static/actions/media/images/image-entitlements-2.png?authuser=6&hl=th)
พิจารณาสถานการณ์ต่อไปนี้
- Jane สมัครระดับ Gold การให้สิทธิ์ของคุณ
ปลายทางแสดงผลตัวระบุ
entitlementId
ต่อไปนี้example.com:bronze
example.com:silver
example.com:gold
- จอห์นสมัครใช้บริการระดับบรอนซ์ การให้สิทธิ์ของคุณ
ปลายทางแสดง
entitlementId
ต่อไปนี้example.com:bronze
- ฟีดการใช้สื่อของคุณจะอธิบายข้อกำหนดต่อไปนี้
- ภาพยนตร์ A ต้องใช้
example.com:bronze
- ภาพยนตร์ ข ต้องใช้
example.com:silver
- ภาพยนตร์ A ต้องใช้
ในสถานการณ์นี้ Google จะกำหนดระดับการเข้าถึงต่อไปนี้สำหรับเจน และวิชัย:
- ทั้ง Jane และ John มีสิทธิ์เข้าถึงภาพยนตร์ A ได้
- เจนจิรามีสิทธิ์เข้าถึงภาพยนตร์ ข แต่จอห์นไม่สามารถเข้าถึงได้
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
การสมัครใช้บริการเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการอนุญาตให้ผู้ใช้ ขยายการให้สิทธิ์และเพิ่มช่องไปยังการติดตามพื้นฐาน ผู้ใช้ สามารถเพิ่มช่องได้มากเท่าที่ต้องการ
![](https://developers.google.cn/static/actions/media/images/image-entitlements-3.png?authuser=6&hl=th)
พิจารณาสถานการณ์ต่อไปนี้
- Jane มี PRO และ Sportz นอกเหนือจาก
การสมัครใช้บริการ Basic ปลายทางการให้สิทธิ์จะแสดงผล
ตัวระบุ
entitlementId
ต่อไปนี้example.com:basic
example.com:pro
example.com:sportz
- วิชัยสมัครใช้บริการเฉพาะรุ่น Basic การให้สิทธิ์ของคุณ
ปลายทางแสดง
entitlementId
ต่อไปนี้example.com:basic
- ฟีดการใช้สื่อของคุณจะอธิบายข้อกำหนดต่อไปนี้
- ภาพยนตร์ A ต้องใช้
example.com:basic
- ภาพยนตร์ ข ต้องใช้
example.com:pro
- ภาพยนตร์ A ต้องใช้
ในสถานการณ์นี้ Google จะกำหนดระดับการเข้าถึงต่อไปนี้สำหรับเจน และวิชัย:
- ทั้ง Jane และ John มีสิทธิ์เข้าถึงภาพยนตร์ A ได้
- เจนจิรามีสิทธิ์เข้าถึงภาพยนตร์ ข แต่จอห์นไม่สามารถเข้าถึงได้
{ "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
เพื่อแสดงราคาของ ให้เช่า
รายการทีวีสด
ในฟีดการใช้สื่อ คุณสามารถจำกัดการเข้าถึงรายการทีวีสดได้ channel หรือ เหตุการณ์โดยอิงจาก เงื่อนไขของผู้ใช้ 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" } }, "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 ผู้ใช้ที่มีส่วนเสริม การสมัครใช้บริการระดับบนสุดจะมีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับที่ต่ำกว่า ผู้ใช้ ผู้ที่สมัครใช้บริการในระดับต่ำกว่าจะไม่มีสิทธิ์เข้าถึงเนื้อหาที่ด้านบน ภาพต่อไปนี้เป็นตัวอย่างของโครงสร้างแพ็กเกจ
![ระดับโกลด์มีเนื้อหาทั้งหมดของระดับ Silver ซึ่ง
เองก็มีระดับ Bronze ทั้งหมด](https://developers.google.cn/static/actions/media/images/tieredsub.png?authuser=6&hl=th)
ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจ 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 } ],
ส่วนเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการอนุญาตให้ผู้ใช้ขยาย และเพิ่มช่องไปยังการสมัครใช้บริการแบบพื้นฐาน ผู้ใช้สามารถเพิ่มเป็น ช่องทางที่หลากหลายตามต้องการ ภาพต่อไปนี้เป็นตัวอย่างของแพ็กเกจ ใหม่
![ผู้ใช้ทุกคนเริ่มต้นด้วยช่องพื้นฐาน และสามารถเลือกเพิ่ม
ช่อง PRO, Sportz และ Moviemax ผสมกัน](https://developers.google.cn/static/actions/media/images/addonssub.png?authuser=6&hl=th)
หากคุณมีช่องที่พร้อมใช้งานสำหรับผู้ใช้ทุกคน และไม่มีค่าใช้จ่ายสำหรับ คุณจะสามารถรวมแพ็กเกจ กับแพ็กเกจระดับทั่วไปได้
ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจพื้นฐานคือระดับทั่วไปเนื่องจาก ผู้ใช้ มีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในแพ็กเกจนี้
"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"](https://developers.google.cn/static/actions/media/images/intersect.png?authuser=6&hl=th)
ในตัวอย่างโค้ดต่อไปนี้ ผู้ให้บริการมีข้อเสนอ 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 แยกจากกันโดยสิ้นเชิง](https://developers.google.cn/static/actions/media/images/nointersect.png?authuser=6&hl=th)
ในตัวอย่างต่อไปนี้ ผู้ให้บริการเสนอแพ็กเกจ 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 ชั่วโมง ถึง ปรับจำนวนคำค้นหาสูงสุดต่อวินาที (QPS) ให้ราบรื่น โดย Google จะกระจายคำค้นหา ไปยังปลายทางอย่างสม่ำเสมอตลอด ดังนั้น คุณจะสามารถประเมินค่าเฉลี่ยที่คาดไว้ QPS สำหรับปลายทางของคุณโดยใช้สูตรต่อไปนี้
QPS เฉลี่ยที่คาดหวัง = <จำนวนผู้ใช้ทั้งหมด> / 21,600 วินาที (6 ชั่วโมง x 60 นาที x 60 วินาที)
หากคุณรองรับผู้ใช้จำนวนมาก Google จะปรับช่วงเวลา 6 ชั่วโมงได้ หากจำเป็น ให้ติดต่อ Google เพื่อพูดคุยเกี่ยวกับการกำหนดค่า
ติดต่อ Google
เมื่อปลายทางพร้อมแล้ว โปรดติดต่อ Google เพื่อแจ้ง URL ของปลายทาง
พร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ
โปรดดู ส่วนพร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการสำหรับการอ้างอิง