ผู้ใช้ชอบดูหรือฟังเนื้อหาที่ตนเองเข้าถึงได้อยู่แล้ว เช่น เนื้อหาที่ต้องสมัครใช้บริการที่ตนเองมีอยู่ หาก Google ทราบว่าผู้ใช้เข้าถึงเนื้อหาใดได้ในแอปหรือแพลตฟอร์มของคุณ 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 อนุญาตให้ใช้ค่าต่อไปนี้
- รายการ
CountryCityและ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:basicexample.com:premiumexample.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:bronzeexample.com:silverexample.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" }, ... } }
การสมัครใช้บริการเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ ขยายสิทธิ์และเพิ่มช่องในการสมัครใช้บริการพื้นฐาน ผู้ใช้ สามารถเพิ่มช่องได้มากเท่าที่ต้องการ
พิจารณาสถานการณ์ต่อไปนี้
- เจนจิรามีแพ็กเกจ PRO และ Sportz นอกเหนือจากแพ็กเกจพื้นฐาน ปลายทางสิทธิ์ของคุณจะแสดง
entitlementIdตัวระบุต่อไปนี้example.com:basicexample.com:proexample.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 เข้าใจภาพยนตร์/รายการทีวีที่ไม่ใช่ระดับทั่วไปที่ผู้ใช้แต่ละรายเข้าถึงได้
ฉันควรสร้างแพ็กเกจระดับทั่วไปเมื่อใด
คุณต้องมีแพ็กเกจระดับทั่วไปเมื่อบริการของคุณมีเนื้อหาที่ พร้อมให้บริการแก่ผู้ติดตามทุกคน ซึ่งรวมถึงบริการที่เสนอแพ็กเกจเดียวและบริการที่เสนอแพ็กเกจหรือส่วนเสริมหลายรายการ
ผู้ให้บริการที่ไม่มีเนื้อหาพร้อมให้บริการแก่สมาชิกทุกคนไม่จำเป็นต้องสร้าง แพ็กเกจระดับทั่วไป ตัวอย่างเช่น ผู้ให้บริการที่นำเสนอเนื้อหาที่แยกกัน ในทุกแพ็กเกจ
ตัวอย่างระดับที่พบบ่อย
ตัวอย่างของระดับทั่วไปมีดังนี้
การสมัครใช้บริการแบบหลายระดับ
ในรูปแบบการสมัครใช้บริการแบบแบ่งระดับ ผู้ให้บริการจะมีระดับการสมัครใช้บริการหลายระดับ เช่น ระดับทอง ระดับเงิน และระดับบรอนซ์ ผู้ใช้ที่มี การสมัครใช้บริการระดับบนสุดจะมีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับล่าง ผู้ใช้ ที่สมัครใช้บริการแพ็กเกจระดับล่างจะไม่มีสิทธิ์เข้าถึงเนื้อหาในแพ็กเกจระดับบน รูปภาพต่อไปนี้เป็นตัวอย่างโครงสร้างแพ็กเกจ
ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจบรอนซ์เป็นระดับทั่วไปเนื่องจากผู้ใช้ทั้งหมด มีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับนั้น
"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 ของปลายทาง
พร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ
ดูข้อมูลอ้างอิงได้ที่ส่วนพร็อพเพอร์ตี้ข้อกำหนดการเข้าถึงการดำเนินการ