ผู้ใช้ชอบดูหรือฟังเนื้อหาที่เข้าถึงอยู่แล้วได้ เช่น เนื้อหาการสมัครใช้บริการที่มีอยู่ หาก Google ทราบว่าผู้ใช้เข้าถึงเนื้อหาใดในแอปหรือแพลตฟอร์มของคุณได้ Google จะสร้างผลการค้นหาหรือการตอบกลับที่ดียิ่งขึ้นเพื่อนําผู้ใช้ไปยังเนื้อหานั้นได้
ระบุข้อกําหนดการเข้าถึงเนื้อหา
คุณต้องระบุข้อกําหนดในการเข้าถึงสําหรับแพ็กเกจเนื้อหาแต่ละรายการในแคตตาล็อก ดังนั้น โปรดพิจารณาคําถามต่อไปนี้
- ผู้ใช้ต้องลงชื่อเข้าสู่ระบบแอปหรือแพลตฟอร์มเพื่อเข้าถึงเนื้อหาหรือไม่
ผู้ใช้จําเป็นต้องสมัครใช้บริการไหม
การดําเนินการเพื่อรับชมเท่านั้น:
- ผู้ใช้จําเป็นต้องสมัครใช้บริการจากผู้ให้บริการภายนอกไหม
- คุณมีการสมัครใช้บริการแบบมีหลายระดับ หลายแพ็กเกจ หรือส่วนเสริมหรือไม่
การดําเนินการเพื่อการรับชมเท่านั้น: ผู้ใช้จําเป็นต้องเช่าหรือซื้อเนื้อหาหรือไม่
ข้อกําหนดในการเข้าถึงมีการเปลี่ยนแปลงเมื่อเวลาผ่านไปไหม
ข้อกําหนดในการเข้าถึงขึ้นอยู่กับตําแหน่งของอุปกรณ์ไหม
ประเภทข้อจํากัดการเข้าถึง
การจํากัดการเข้าถึงมี 2 ประเภทดังนี้
ประเภทเพย์วอลล์
คุณจะจํากัดสิทธิ์เข้าถึงเนื้อหาตามประเภทเพย์วอลล์ได้ ตารางต่อไปนี้แสดงรายละเอียดเกี่ยวกับเพย์วอลล์ประเภทต่างๆ
ประเภทเพย์วอลล์ | ตัวอย่าง | หมวดหมู่ |
---|---|---|
ไม่จําเป็นต้องซื้อหรือเข้าสู่ระบบ | เปรี๊ยะๆ | 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การจัดเรียง FSA (รหัส 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การจัดเรียงation 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 รายการ เราจะถือว่าผู้ใช้เข้าถึงเนื้อหาได้
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 ... }, ... } }, ... }
กรณีการใช้งานการเข้าถึงทั่วไป
กรณีการใช้งานทั่วไปที่มีการเข้าถึงมีดังต่อไปนี้
- ฟรี (ไม่จําเป็นต้องเข้าสู่ระบบ): เนื้อหาพร้อมใช้งานโดยไม่ต้องเข้าสู่ระบบ สมัครใช้บริการ หรือซื้อ
- ฟรี (ต้องเข้าสู่ระบบ): ผู้ใช้ต้องลงชื่อเข้าสู่ระบบ แต่ไม่จําเป็นต้องสมัครใช้บริการ
- การสมัครใช้บริการระดับเดียว: เนื้อหาต้องมีการสมัครใช้บริการ สมาชิกทุกคนจะเข้าถึงเนื้อหาเดียวกันได้ ไม่ว่าจะเป็นภาพยนตร์หรือตอน ไม่ว่าแพ็กเกจการสมัครใช้บริการจะเป็นอย่างไรก็ตาม
- การสมัครใช้บริการแบบหลายชั้น: เนื้อหาต้องมีการสมัครใช้บริการ สมาชิกจะเข้าถึงเนื้อหาที่แตกต่างกันได้ ไม่ว่าจะเป็นภาพยนตร์หรือตอน โดยอิงตามระดับการสมัครใช้บริการ เช่น 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" }, "eligibleRegion": { "@type": "Country", "name": "US" } } }
การสมัครใช้บริการแบบหลายชั้น
ในรูปแบบการสมัครใช้บริการที่แบ่งตามลําดับ ผู้ให้บริการจะมีระดับการสมัครใช้บริการหลายระดับ เช่น Gold, Silver และ Bronze ผู้ใช้ที่มีการสมัครใช้บริการระดับที่สูงกว่าจะเข้าถึงเนื้อหาระดับที่ต่ํากว่าทั้งหมดได้ แต่ผู้ใช้ที่สมัครใช้บริการระดับที่ต่ํากว่าจะเข้าถึงเนื้อหาระดับบนไม่ได้
ลองพิจารณาสถานการณ์ต่อไปนี้
- Jane สมัครใช้บริการระดับ Gold ปลายทางการให้สิทธิ์จะแสดงตัวระบุ
entitlementId
ต่อไปนี้example.com:bronze
example.com:silver
example.com:gold
- สมชายสมัครใช้บริการระดับบรอนซ์ ปลายทางการให้สิทธิ์แสดง
entitlementId
ต่อไปนี้example.com:bronze
- ฟีดการดําเนินการสื่ออธิบายข้อกําหนดต่อไปนี้
- ภาพยนตร์ ก ต้องใช้
example.com:bronze
- ภาพยนตร์ B ต้องใช้
example.com:silver
- ภาพยนตร์ ก ต้องใช้
ในสถานการณ์นี้ Google จะกําหนดระดับการเข้าถึงต่อไปนี้สําหรับ Jane และ John
- ทั้ง Jane และ John มีสิทธิ์เข้าถึงภาพยนตร์ A
- Jane เข้าถึงภาพยนตร์ B ได้ แต่ John เข้าถึงไม่ได้
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
การสมัครใช้บริการส่วนเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ขยายการให้สิทธิ์และเพิ่มช่องไปยังการสมัครใช้บริการพื้นฐาน ผู้ใช้จะเพิ่มช่องได้มากเท่าที่ต้องการ
ลองพิจารณาสถานการณ์ต่อไปนี้
- Jane มี PRO และ Sportz เพิ่มเติมจากการสมัครใช้บริการพื้นฐาน ปลายทางการให้สิทธิ์จะแสดงตัวระบุ
entitlementId
ต่อไปนี้example.com:basic
example.com:pro
example.com:sportz
- วิชัยสมัครใช้บริการแบบพื้นฐานเท่านั้น ปลายทางการให้สิทธิ์แสดง
entitlementId
ต่อไปนี้example.com:basic
- ฟีดการดําเนินการสื่ออธิบายข้อกําหนดต่อไปนี้
- ภาพยนตร์ ก ต้องใช้
example.com:basic
- ภาพยนตร์ B ต้องใช้
example.com:pro
- ภาพยนตร์ ก ต้องใช้
ในสถานการณ์นี้ Google จะกําหนดระดับการเข้าถึงต่อไปนี้สําหรับ Jane และ John
- ทั้ง Jane และ John มีสิทธิ์เข้าถึงภาพยนตร์ A
- 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 } } } }
การซื้อครั้งเดียว
การซื้อ
เนื้อหาจะใช้ได้ไม่จํากัดระยะเวลาหลังจากการซื้อ
{ "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" } }, "eligibleRegion": { "@type": "Country", "name": "US" } } }
- เพิ่ม
authenticator
เพื่อระบุว่าบริการอื่นตรวจสอบสิทธิ์ของผู้ติดตาม เช่น HBO GO ต้องมีการสมัครใช้บริการจากผู้ให้บริการเคเบิล
แพ็กเกจระดับที่พบบ่อย
เนื้อหาทั่วไปของระดับจะพร้อมให้บริการแก่ผู้ติดตามทุกรายไม่ว่าแพ็กเกจการสมัครใช้บริการจะเป็นอย่างไรก็ตาม ระดับร่วมจะมีผลกับเนื้อหาทั้งหมดที่มีค่า category
จาก subscription
ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้ category
ได้ที่ส่วนประเภทเพย์วอลล์
ทําไมจึงต้องใช้แพ็กเกจ Tier ทั่วไป
ผลิตภัณฑ์ Google หลายอย่างจะให้คําแนะนําเกี่ยวกับทีวีและภาพยนตร์แก่ผู้ใช้ ซึ่งรวมถึง Google Search, Android TV และ Google Assistant Google ต้องทราบว่าผู้ใช้จะเข้าถึงเนื้อหาใดได้บ้างผ่านการใช้ระดับร่วม เพื่อระบุความคาดหวังของผู้ใช้เกี่ยวกับต้นทุน และ Google ต้องเข้าใจด้วยว่า ผู้ชมดูเนื้อหาแบบไหนได้
Google ขอแนะนําให้ใช้ระดับที่มีให้ใช้งานทั่วไป เว้นแต่คุณจะรองรับ entitleation API API ช่วยให้ Google ทราบถึงชื่อระดับที่ไม่ใช่แบบปกติซึ่งผู้ใช้แต่ละคนเข้าถึงได้
ฉันควรสร้างแพ็กเกจระดับปกติเมื่อใด
จําเป็นต้องใช้แพ็กเกจ Tier ทั่วไปเมื่อบริการของคุณมีเนื้อหาที่พร้อมให้บริการสําหรับสมาชิกทุกคน ซึ่งรวมถึงบริการที่มีแพ็กเกจเดียว และบริการที่เสนอแพ็กเกจหรือส่วนเสริมหลายรายการ
ผู้ให้บริการที่ไม่มีเนื้อหาที่พร้อมให้บริการสําหรับสมาชิกทุกรายไม่จําเป็นต้องสร้างแพ็กเกจระดับทั่วไป เช่น ผู้ให้บริการที่เสนอเนื้อหาพิเศษเฉพาะ ให้รวมอยู่ในแพ็กเกจทั้งหมดของตน
ตัวอย่างระดับทั่วไปของ
ตัวอย่างของระดับทั่วไปมีดังนี้
การสมัครใช้บริการแบบเป็นขั้น
ในรูปแบบการสมัครใช้บริการที่แบ่งเป็นระดับ ผู้ให้บริการจะมีระดับการสมัครใช้บริการหลายระดับ เช่น ระดับ Gold, Silver และ Bronze ผู้ใช้ที่สมัครใช้บริการในระดับที่สูงกว่าจะมีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในระดับที่ต่ํากว่าได้ ผู้ใช้ที่สมัครใช้บริการระดับที่ต่ํากว่าจะไม่มีสิทธิ์เข้าถึงเนื้อหาในระดับที่สูงกว่า รูปภาพต่อไปนี้คือตัวอย่างของโครงสร้างแพ็กเกจ
ในตัวอย่างรหัสต่อไปนี้ แพ็กเกจ 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 } ],
ส่วนเสริม
ในรูปแบบการสมัครใช้บริการส่วนเสริม ผู้ให้บริการจะอนุญาตให้ผู้ใช้ขยายการให้สิทธิ์และเพิ่มช่องไปยังการสมัครใช้บริการพื้นฐานได้ ผู้ใช้สามารถเพิ่ม ช่องได้มากเท่าที่ต้องการ รูปภาพต่อไปนี้คือตัวอย่างของโครงสร้างแพ็กเกจ
หากมีช่องสําหรับผู้ใช้ทุกคนและไม่มีค่าบริการสําหรับช่อง คุณสามารถรวมแพ็กเกจเข้ากับแพ็กเกจ Tier ทั่วไปได้
ในตัวอย่างโค้ดต่อไปนี้ แพ็กเกจพื้นฐานเป็นระดับทั่วไปเนื่องจากผู้ใช้ทั้งหมดมีสิทธิ์เข้าถึงเนื้อหาทั้งหมดในแพ็กเกจนี้
"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 ชั่วโมง เพื่อให้การสืบค้นสูงสุดต่อวินาที (QPS) ราบรื่นยิ่งขึ้น Google จะกระจายคําค้นหาไปยังปลายทางของคุณอย่างสม่ําเสมอตลอดระยะเวลา ดังนั้นคุณจะประมาณ QPS เฉลี่ยที่คาดหวังสําหรับปลายทางได้ด้วยสูตรต่อไปนี้
QPS เฉลี่ยที่คาดหวัง = <จํานวนผู้ใช้ทั้งหมด> / 21,600 วินาที (6 ชั่วโมง x 60 นาที x 60 วินาที)
หากคุณรองรับผู้ใช้จํานวนมาก Google จะปรับช่วง 6 ชั่วโมงนี้ หากจําเป็น ให้ติดต่อ Google เพื่อพูดคุยเรื่องการกําหนดค่า
ติดต่อ Google
เมื่อปลายทางพร้อมแล้ว ให้ติดต่อ Google เพื่อแจ้ง URL ของปลายทาง
พร็อพเพอร์ตี้ข้อกําหนดการเข้าถึงการดําเนินการ
ดูข้อมูลอ้างอิงได้ที่ส่วนคุณสมบัติของข้อกําหนดการเข้าถึงการดําเนินการ