उपयोगकर्ता, ऐसा कॉन्टेंट देखना या सुनना पसंद करते हैं जिसे वे पहले से ऐक्सेस कर सकते हैं. जैसे, सदस्यता के तहत मिलने वाला कॉन्टेंट. अगर Google को पता है कि कोई उपयोगकर्ता आपके ऐप्लिकेशन या प्लैटफ़ॉर्म पर कौनसा कॉन्टेंट ऐक्सेस कर सकता है, तो Google उस कॉन्टेंट पर उपयोगकर्ता को भेजने के लिए, खोज के बेहतर नतीजे या जवाब दे सकता है.

कॉन्टेंट ऐक्सेस करने से जुड़ी ज़रूरी शर्तों के बारे में जानकारी
आपको अपने कैटलॉग में मौजूद हर कॉन्टेंट पैकेज के लिए, ऐक्सेस की ज़रूरी शर्त की जानकारी देनी होगी. ऐसा करते समय, इन बातों का ध्यान रखें:
- क्या कॉन्टेंट ऐक्सेस करने के लिए, उपयोगकर्ताओं को आपके ऐप्लिकेशन या प्लैटफ़ॉर्म में लॉग इन करना पड़ता है?
क्या उपयोगकर्ताओं को सदस्यता लेनी होगी?
सिर्फ़ स्मार्टवॉच पर की गई कार्रवाइयां:
- क्या उपयोगकर्ताओं को सेवा देने वाली किसी बाहरी कंपनी की सदस्यता लेनी होगी?
- क्या आपने अलग-अलग टीयर वाली, एक से ज़्यादा पैकेज वाली या ऐड-ऑन सदस्यता की सुविधा उपलब्ध कराई है?
सिर्फ़ वीडियो देखने की कार्रवाइयां: क्या उपयोगकर्ताओं को कॉन्टेंट किराये पर लेना या खरीदना होगा?
क्या ऐक्सेस करने की ज़रूरी शर्तें समय के साथ बदलती हैं?
क्या ऐक्सेस की ज़रूरी शर्त, डिवाइस की जगह की जानकारी पर निर्भर करती है?
ऐक्सेस से जुड़ी पाबंदियों के टाइप
ऐक्सेस से जुड़ी पाबंदियां दो तरह की होती हैं:
पेवॉल का टाइप
पेमेंट के तरीके के हिसाब से, कॉन्टेंट के ऐक्सेस पर पाबंदी लगाई जा सकती है. यहां दी गई टेबल में, पेवॉल के अलग-अलग टाइप के बारे में बताया गया है:
पेवॉल का टाइप | उदाहरण | कैटगरी |
---|---|---|
इसके लिए, खरीदारी करने या लॉग इन करने की ज़रूरत नहीं है. | Crackle | nologinrequired |
उपयोगकर्ता को लॉग इन करना होगा, लेकिन उसके पास पैसे चुकाकर ली गई सदस्यता की ज़रूरत नहीं है. | Vudu (एवीओडी) | free |
उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस, सदस्यता के टीयर पर निर्भर नहीं करता. | Netflix |
|
उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस, सदस्यता के टीयर पर निर्भर करता है. | Hulu (ऐड-ऑन) |
|
खरीदारी के बाद, कॉन्टेंट को सीमित समय के लिए ऐक्सेस किया जा सकता है. | Vudu | rental |
खरीदारी के बाद, कॉन्टेंट को कभी भी ऐक्सेस किया जा सकता है. | Vudu | purchase |
कॉन्टेंट, केबल सदस्यता के साथ उपलब्ध है. | HBO Go | externalSubscription |
Watch Action के लिए पेवल की सुविधा का टाइप
वॉच ऐक्शन के लिए कॉन्टेंट का पेवॉल टाइप बताने के लिए, ऐक्शन ऐक्सेस की खास जानकारी में 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"
}
},
...
}
सुनने की कार्रवाइयों के लिए Paywall का टाइप
सुनने की कार्रवाइयों के लिए, कॉन्टेंट के पेवॉल टाइप की जानकारी देने के लिए, ऑफ़र ऑब्जेक्ट में 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"
}
},
...
}
भौगोलिक इलाका
आपको उन भौगोलिक इलाकों की जानकारी देनी होगी जहां कॉन्टेंट उपलब्ध है. इनमें से एक या दोनों प्रॉपर्टी का इस्तेमाल करें:
- कार्रवाई के ऐक्सेस की जानकारी ऑब्जेक्ट की
eligibleRegion
प्रॉपर्टी. यह प्रॉपर्टी ज़रूरी है. - कार्रवाई के ऐक्सेस की जानकारी ऑब्जेक्ट की
ineligibleRegion
प्रॉपर्टी.
उपयोगकर्ता, कॉन्टेंट को तब ऐक्सेस कर सकता है, जब डिवाइस की जगह की जानकारी eligibleRegion
में बताए गए किसी इलाके में हो और ineligibleRegion
में बताए गए किसी इलाके में न हो.
eligibleRegion
और ineligibleRegion
प्रॉपर्टी में ये वैल्यू इस्तेमाल की जा सकती हैं:
Country
,City
, औरState
की सूची.GeoShape
ऑब्जेक्ट. ज़रूरी शर्तों के बारे में पूरी जानकारी के लिए,GeoShape
प्रॉपर्टी सेक्शन देखें.GeoShape
ऑब्जेक्ट की सूची.
अगर कॉन्टेंट दुनिया भर में उपलब्ध है, तो eligibleRegion
के लिए इस खास वैल्यू का इस्तेमाल करें:
"eligibleRegion": "EARTH",
eligibleRegion के इस्तेमाल के उदाहरण
eligibleRegion
प्रॉपर्टी के इस्तेमाल के उदाहरण यहां दिए गए हैं:
- उदाहरण 1:
eligibleRegion
में देशों की सूची है. - उदाहरण 2:
eligibleRegion
मेंGeoShape
ऑब्जेक्ट, जिसमें ज़िप कोड की सूची शामिल है. - तीसरा उदाहरण:
eligibleRegion
मेंGeoShape
ऑब्जेक्ट, जिसमें फ़ॉरवर्ड सोरटेशन एरिया (एफ़एसए) कोड की सूची शामिल है. - चौथा उदाहरण:
eligibleRegion
मेंGeoShape
ऑब्जेक्ट, जिसमें डीएमए आईडी है. - पांचवां उदाहरण:
eligibleRegion
मेंGeoShape
ऑब्जेक्ट की सूची है. हर फ़ाइल में एक डीएमए आईडी होता है. - छठा उदाहरण:
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
ऑब्जेक्ट, जिसमें
फ़ॉरवर्ड सोरटेशन एरिया (एफ़एसए) कोड की सूची शामिल हो:
"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
ऑब्जेक्ट, जिसमें
डीएमए आईडी शामिल है:
"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
ऑब्जेक्ट की सूची हो.
हर एक में डीएमए आईडी होता है:
"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" } } ] }
छठा उदाहरण
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 यह तरीका अपनाता है:
- हम उपयोगकर्ता के एनटाइटलमेंट आइडेंटिफ़ायर पाने के लिए, आपके एनटाइटलमेंट एंडपॉइंट पर एपीआई कॉल करते हैं.
- हम आपके Media Actions फ़ीड से, कॉन्टेंट के ज़रूरी एनटाइटलमेंट आइडेंटिफ़ायर खोजते हैं.
- हम उपयोगकर्ता के
entitlementId
को आपके फ़ीड में मौजूद मीडिया सदस्यता ऑब्जेक्ट कीidentifier
प्रॉपर्टी से मैच करते हैं. अगर कम से कम एकentitlementId
मैच होता है, तो हम यह तय करते हैं कि उपयोगकर्ता कॉन्टेंट को ऐक्सेस कर सकता है या नहीं.

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 ... }, ... } }, ... }
ऐक्सेस के इस्तेमाल के सामान्य उदाहरण
ऐक्सेस के इस्तेमाल के सामान्य उदाहरण यहां दिए गए हैं:
- बिना किसी शुल्क के उपलब्ध (लॉगिन करने की ज़रूरत नहीं है): यह कॉन्टेंट, लॉगिन, सदस्यता या खरीदारी के बिना उपलब्ध होता है.
- बिना शुल्क के उपलब्ध (लॉग इन करना ज़रूरी है): इस कॉन्टेंट को देखने के लिए, उपयोगकर्ताओं को लॉग इन करना होगा. हालांकि, इसके लिए सदस्यता की ज़रूरत नहीं है.
- एक टीयर वाली सदस्यता: कॉन्टेंट को ऐक्सेस करने के लिए, सदस्यता लेना ज़रूरी है. सभी सदस्य एक ही कॉन्टेंट को ऐक्सेस कर सकते हैं. फिर चाहे, वह कॉन्टेंट फ़िल्में हों या एपिसोड. इस बात से कोई फ़र्क़ नहीं पड़ता कि सदस्यों ने कौनसा सदस्यता पैकेज लिया है.
- मल्टी-टीयर सदस्यता: कॉन्टेंट को ऐक्सेस करने के लिए, सदस्यता लेना ज़रूरी है. सदस्यता के टीयर के आधार पर, सदस्य अलग-अलग कॉन्टेंट ऐक्सेस कर सकते हैं. उदाहरण के लिए, सिल्वर बनाम गोल्ड.
- ऐड-ऑन सदस्यता: कॉन्टेंट को ऐक्सेस करने के लिए, सदस्यता लेना ज़रूरी है. सदस्य, अपनी सामान्य सदस्यता के साथ-साथ, Premium की सदस्यता भी ले सकते हैं.
- एक बार की जाने वाली खरीदारी: कॉन्टेंट को खरीदने के बाद, उपयोगकर्ता उसे कभी भी ऐक्सेस कर सकता है.
- लाइव टीवी: सदस्यता लेने पर, आपको लोकल, नैशनल, और प्रीमियम चैनलों का ऐक्सेस मिलता है.
- तीसरे पक्ष की सदस्यता: कॉन्टेंट देखने के लिए, उपयोगकर्ता को केबल सेवा देने वाली कंपनी के साथ लॉग इन करना होगा.
मुफ़्त (लॉगिन करने की ज़रूरत नहीं है)
लॉगिन करने की ज़रूरत नहीं है
कॉन्टेंट को लॉगिन या सदस्यता लिए बिना ऐक्सेस किया जा सकता है.
{ "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 टीयर की सदस्यता ली है. आपका एनटाइटलमेंट एंडपॉइंट, ये
entitlementId
आइडेंटिफ़ायर दिखाता है:example.com:bronze
example.com:silver
example.com:gold
- जॉन ने ब्रॉन्ज़ टीयर की सदस्यता ली है. आपका एनटाइटलमेंट एंडपॉइंट, यह
entitlementId
दिखाता है:example.com:bronze
- आपके मीडिया ऐक्शन फ़ीड में इन ज़रूरी शर्तों के बारे में बताया गया है:
- Movie A के लिए
example.com:bronze
ज़रूरी है. - Movie B के लिए
example.com:silver
ज़रूरी है.
- Movie A के लिए
इस स्थिति में, Google, जय और दीप के लिए ये ऐक्सेस लेवल तय करता है:
- जेन और जॉन, दोनों के पास फ़िल्म A का ऐक्सेस है.
- Movie B का ऐक्सेस, जयेश के पास है, लेकिन जॉन के पास नहीं है.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
ऐड-ऑन की सदस्यता
ऐड-ऑन की सदस्यता वाले मॉडल में, सेवा देने वाली कंपनी उपयोगकर्ताओं को अपने एनटाइटलमेंट को बढ़ाने और बुनियादी सदस्यता में चैनल जोड़ने की अनुमति देती है. उपयोगकर्ता, अपनी पसंद के मुताबिक जितने चाहें उतने चैनल जोड़ सकते हैं.

यह उदाहरण देखें:
- जेन के पास Basic सदस्यता के अलावा, PRO और Sportz सदस्यता भी है. आपका एनटाइटलमेंट एंडपॉइंट, ये
entitlementId
आइडेंटिफ़ायर दिखाता है:example.com:basic
example.com:pro
example.com:sportz
- जॉन के पास सिर्फ़ बुनियादी सदस्यता है. आपका एनटाइटलमेंट एंडपॉइंट, यह
entitlementId
दिखाता है:example.com:basic
- आपके मीडिया ऐक्शन फ़ीड में इन ज़रूरी शर्तों के बारे में बताया गया है:
- Movie A के लिए
example.com:basic
ज़रूरी है. - Movie B के लिए
example.com:pro
ज़रूरी है.
- Movie A के लिए
इस स्थिति में, Google, जय और दीप के लिए ये ऐक्सेस लेवल तय करता है:
- जेन और जॉन, दोनों के पास फ़िल्म A का ऐक्सेस है.
- Movie 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 } } } }
सिर्फ़ एक बार खरीदना
खरीदारी
खरीदारी के बाद, कॉन्टेंट को कभी भी ऐक्सेस किया जा सकता है.
{ "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
पर सेट करें.- खरीदारी की कीमत बताने के लिए,
actionAccessibilityRequirement
मेंexpectAcceptanceOf
शामिल करें.
किराये पर उपलब्ध
खरीदारी के बाद, कॉन्टेंट को सीमित समय के लिए ऐक्सेस किया जा सकता है.
{ "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
पर सेट करें.- किराये की कीमत बताने के लिए,
actionAccessibilityRequirement
मेंexpectAcceptanceOf
शामिल करें.
लाइव टीवी
मीडिया ऐक्शन फ़ीड में, उपयोगकर्ता की इन दो शर्तों के आधार पर, लाइव टीवी चैनल या इवेंट के ऐक्सेस पर पाबंदी लगाई जा सकती है:
-
उपयोगकर्ता के डिवाइस की जगह की जानकारी
टीवी चैनल के ऐक्सेस पर पाबंदी लगाने के लिए, उस इलाके की जानकारी दें जहां उपयोगकर्ताओं के पास उसका ऐक्सेस है. यह शर्त आम तौर पर स्थानीय ब्रॉडकास्ट टीवी चैनलों पर लागू होती है.
-
उपयोगकर्ता के खाते की स्थिति
अगर किसी टीवी चैनल का ऐक्सेस, उपयोगकर्ता के खाता-लेवल की सेटिंग पर निर्भर करता है, तो पाबंदी के बारे में बताने के लिए, एनटाइटलमेंट आइडेंटिफ़ायर का इस्तेमाल करें.
आम तौर पर, यह शर्त इन इस्तेमाल के उदाहरणों पर लागू होती है:
- बंडल: नैशनल चैनलों को अक्सर बंडल में शामिल किया जाता है. साथ ही, उपयोगकर्ता यह चुनते हैं कि उन्हें किस बंडल की सदस्यता लेनी है.
- ऐड-ऑन: कुछ प्रीमियम चैनलों के लिए, उपयोगकर्ताओं को अपनी सदस्यता में चुनिंदा चैनल जोड़ने होंगे.
- रीजनल स्पोर्ट्स नेटवर्क (आरएसएन): आरएसएन आम तौर पर, उपयोगकर्ता की "होम" लोकेशन से जुड़े होते हैं. उपयोगकर्ता, अपनी "होम" लोकेशन से बाहर होने पर भी आरएसएन पर कॉन्टेंट देख सकते हैं.
तीसरे पक्ष की सदस्यता
तीसरे पक्ष की सदस्यता
कॉन्टेंट, सदस्यों के लिए किसी दूसरी सेवा पर उपलब्ध है.
{ "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 का इस्तेमाल करने के लिए, आपको केबल सेवा देने वाली कंपनी की सदस्यता लेनी होगी.
सामान्य टीयर पैकेज
सामान्य टीयर का कॉन्टेंट, सभी सदस्यों के लिए उपलब्ध होता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि उनके पास किस तरह का सदस्यता पैकेज है. सामान्य टीयर, subscription
के category
वाले सभी कॉन्टेंट पर लागू होता है. category
प्रॉपर्टी के बारे में ज़्यादा जानकारी के लिए, पेवॉल टाइप सेक्शन देखें.
एक ही टीयर वाला पैकेज क्यों ज़रूरी है?
Google के कई प्रॉडक्ट, उपयोगकर्ताओं को टीवी और फ़िल्म के सुझाव देते हैं. इनमें Google Search, Android TV, और Google Assistant शामिल हैं. सदस्यता की कीमत के बारे में उपयोगकर्ताओं की उम्मीदों को सेट करने के लिए, Google को यह समझना होगा कि सामान्य टीयर का इस्तेमाल करके, सभी सदस्यों के लिए कौनसा कॉन्टेंट उपलब्ध है. Google को यह भी समझना चाहिए कि सदस्यों को, सदस्यता के अलग-अलग पैकेज के हिसाब से कौनसा कॉन्टेंट उपलब्ध है.
Google, सामान्य टीयर पर उपलब्ध किताबों के सुझाव तब तक देता है, जब तक आपके पास Entitlements 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 } ],
ओवरलैप होने वाले कॉन्टेंट वाले पैकेज
कॉन्टेंट मॉडल में, जब पैकेज में एक जैसा कॉन्टेंट होता है, तो सेवा देने वाली कंपनी ऐसे पैकेज बेचती है जिनमें दूसरे पैकेज का कुछ कॉन्टेंट शामिल होता है. नीचे दी गई इमेज, पैकेज के स्ट्रक्चर का उदाहरण है.

नीचे दिए गए कोड के उदाहरण में, सेवा देने वाली कंपनी तीन पैकेज ऑफ़र करती है. इनमें से कुछ कॉन्टेंट सभी पैकेज में शामिल है. इस मामले में, एक चौथा पैकेज ज़रूरी है, जो सामान्य टीयर को दिखाता है. इसमें तीनों पैकेज में उपलब्ध सभी कॉन्टेंट शामिल होना चाहिए.
"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 } ],
ऐसे पैकेज जिनमें ओवरलैप होने वाला कॉन्टेंट शामिल न हो
कॉन्टेंट मॉडल में, जब सभी कॉन्टेंट पैकेज एक-दूसरे से मेल नहीं खाते, तो सेवा देने वाली कंपनी ऐसे पैकेज बेचती है जिनमें दूसरे पैकेज का कोई कॉन्टेंट शामिल नहीं होता. नीचे दी गई इमेज, पैकेज के स्ट्रक्चर का उदाहरण है.

नीचे दिए गए उदाहरण में, सेवा देने वाली कंपनी तीन पैकेज ऑफ़र करती है. इनमें से किसी भी पैकेज में, एक ही कॉन्टेंट नहीं है. इसके लिए, किसी सामान्य टीयर पैकेज की ज़रूरत नहीं है.
"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 } ],
एनटाइटलमेंट एंडपॉइंट
इस सेक्शन में दी गई जानकारी का इस्तेमाल करके, एचटीटीपीएस एंडपॉइंट को होस्ट करें. यह एंडपॉइंट, किसी उपयोगकर्ता से जुड़े एनटाइटलमेंट दिखाता है.
पूर्वापेक्षा
शुरू करने से पहले, पुष्टि करें कि आपकी सेवा, Google के साथ OAuth 2.0 फ़्लो के साथ काम करती है.
अनुरोध
उपयोगकर्ता के एनटाइटलमेंट पाने के लिए, 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 फ़ॉर्मैट में, इस सदस्यता की समयसीमा खत्म होने की तारीख. इसमें टाइमज़ोन भी शामिल है. ज़्यादा जानकारी के लिए, समयसीमा खत्म होने की तारीखें देखें. |
खत्म होने की तारीखें
एंडपॉइंट रिस्पॉन्स में, समयसीमा खत्म होने की तारीखों से जुड़ी दो प्रॉपर्टी होती हैं: subscription.expiration_date
और entitlements.expiration_date
. इनमें से किसी एक या दोनों को शामिल नहीं किया जा सकता. इनमें से किसका इस्तेमाल करना है, यह आपकी सदस्यता के मॉडल पर निर्भर करता है.
सदस्यता का मॉडल | |
---|---|
आपके स्ट्रीमिंग कैटलॉग का ऐक्सेस, सभी सदस्यों के लिए एक जैसा होता है. | आपको 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, उपयोगकर्ता के एनटाइटलमेंट की जानकारी को हर छह घंटे में रीफ़्रेश करता है. हर सेकंड में ज़्यादा से ज़्यादा क्वेरी (क्यूपीएस) को आसानी से मैनेज करने के लिए, Google समय के साथ आपके एंडपॉइंट पर क्वेरी को बराबर-बराबर बांटता है. इसलिए, अपने एंडपॉइंट के लिए अनुमानित औसत QPS का अनुमान, इस फ़ॉर्मूला का इस्तेमाल करके लगाया जा सकता है:
अनुमानित औसत क्यूपीएस = <कुल उपयोगकर्ताओं की संख्या> / 21,600 सेकंड (6 घंटे x 60 मिनट x 60 सेकंड)
अगर आपके पास बड़ी संख्या में उपयोगकर्ता हैं, तो Google छह घंटे के इंटरवल में बदलाव कर सकता है. अगर ज़रूरी हो, तो कॉन्फ़िगरेशन के बारे में बात करने के लिए Google से संपर्क करें.
Google से संपर्क करें
एंडपॉइंट तैयार होने के बाद, एंडपॉइंट के यूआरएल की जानकारी देने के लिए Google से संपर्क करें.
ऐक्शन ऐक्सेस स्पेसिफ़िकेशन प्रॉपर्टी
रेफ़रंस के तौर पर जानकारी पाने के लिए, ऐक्शन ऐक्सेस स्पेसिफ़िकेशन प्रॉपर्टी सेक्शन देखें.