उपयोगकर्ता उस कॉन्टेंट को देखना या सुनना पसंद करते हैं जिसे वे पहले से ऐक्सेस कर सकते हैं, जैसे कि उनका मौजूदा सदस्यता कॉन्टेंट. अगर Google को पता है कि कोई उपयोगकर्ता आपके ऐप्लिकेशन या प्लैटफ़ॉर्म पर किस तरह का कॉन्टेंट ऐक्सेस कर सकता है, तो Google, उपयोगकर्ता को उस कॉन्टेंट पर ले जाने के लिए, खोज के बेहतर नतीजे या रिस्पॉन्स बना सकता है.
कॉन्टेंट ऐक्सेस करने के लिए ज़रूरी शर्तों की पहचान करना
आपको अपने कैटलॉग में हर कॉन्टेंट पैकेज के लिए, ऐक्सेस से जुड़ी ज़रूरी शर्त की पहचान करनी होगी. ऐसा करते समय, इन सवालों पर ध्यान दें:
- क्या कॉन्टेंट ऐक्सेस करने के लिए, उपयोगकर्ताओं को आपके ऐप्लिकेशन या प्लैटफ़ॉर्म में लॉग इन करना होगा?
क्या उपयोगकर्ताओं को सदस्यता की ज़रूरत है?
सिर्फ़ स्मार्ट वॉच के लिए:
- क्या उपयोगकर्ताओं को बाहरी सेवा देने वाले की सदस्यता लेनी होगी?
- क्या आप अलग-अलग कैटगरी वाले, कई पैकेज वाले या ऐड-ऑन सदस्यता ऑफ़र करते हैं?
सिर्फ़ कार्रवाइयों के लिए देखें: क्या उपयोगकर्ताओं को कॉन्टेंट किराये पर लेने या खरीदने की ज़रूरत है?
क्या समय के साथ ऐक्सेस की ज़रूरत बदलती है?
क्या ऐक्सेस की ज़रूरत, डिवाइस की जगह के हिसाब से तय होती है?
ऐक्सेस पर लगी पाबंदी के टाइप
ऐक्सेस पर पाबंदी दो तरह से लगाई जाती है:
Paywall का प्रकार
आप paywall के प्रकार के हिसाब से, कॉन्टेंट के ऐक्सेस पर पाबंदी लगा सकते हैं. नीचे दी गई टेबल में अलग-अलग तरह के paywall के बारे में जानकारी दी गई है:
Paywall का प्रकार | उदाहरण | कैटगरी |
---|---|---|
खरीदारी या लॉगिन की कोई ज़रूरत नहीं है. | क्रैकल | nologinrequired |
उपयोगकर्ता ने लॉग इन किया होना चाहिए. हालांकि, इसके लिए उसे पैसे देकर ली गई सदस्यता की ज़रूरत नहीं है. | वुडु (AVOD) | free |
उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस, सदस्यता के स्तर से अलग होता है. | Netflix |
|
उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस इस बात पर निर्भर करता है कि सदस्यता किस लेवल की है. | Hulu (ऐड-ऑन) |
|
कॉन्टेंट, खरीदारी के बाद सीमित समय के लिए उपलब्ध रहता है. | Vudu | rental |
खरीदारी के बाद, कॉन्टेंट हमेशा के लिए उपलब्ध होता है. | Vudu | purchase |
कॉन्टेंट, केबल सदस्यता से उपलब्ध होता है. | HBO Go | externalSubscription |
स्मार्ट वॉच ऐक्शन के लिए Paywall का टाइप
वॉच ऐक्शन के लिए paywall का कॉन्टेंट किस तरह का है, यह बताने के लिए
कार्रवाई के ऐक्सेस की खास बातों में
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 का प्रकार
'सुनें' कार्रवाइयों के लिए, 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
देशों की सूची के साथ. - उदाहरण 2: ऐसे
GeoShape
ऑब्जेक्ट के साथeligibleRegion
जिसमें पिन कोड की सूची शामिल है. - उदाहरण 3:
eligibleRegion
के साथGeoShape
ऑब्जेक्ट, जिसमें फ़ॉरवर्ड सॉर्टेशन एरिया (एफ़एसए) कोड की सूची है. - उदाहरण 4:
GeoShape
ऑब्जेक्ट के साथeligibleRegion
जिसमें डीएमए आईडी शामिल है. - उदाहरण 5:
GeoShape
ऑब्जेक्ट की सूची के साथeligibleRegion
. हर एक में डीएमए आईडी होता है. - उदाहरण 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
GeoShape
ऑब्जेक्ट वाले eligibleRegion
जिसमें पिन कोड की सूची शामिल होती है:
"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" ] } }
तीसरा उदाहरण
GeoShape
ऑब्जेक्ट वाले eligibleRegion
, जिसमें फ़ॉरवर्ड सॉर्टेशन एरिया (एफ़एसए) कोड की सूची है:
"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" ] } }
चौथा उदाहरण
GeoShape
ऑब्जेक्ट वाले eligibleRegion
, जिसमें डीएमए आईडी शामिल है:
"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
GeoShape
ऑब्जेक्ट की सूची के साथ eligibleRegion
.
हर एक में डीएमए आईडी होता है:
"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 ये तरीके अपनाता है:
- उपयोगकर्ता के एनटाइटलमेंट के आइडेंटिफ़ायर पाने के लिए, हम आपके एनटाइटलमेंट एंडपॉइंट पर एपीआई कॉल करते हैं.
- हम आपके मीडिया ऐक्शन फ़ीड से, कॉन्टेंट के लिए ज़रूरी एनटाइटलमेंट आइडेंटिफ़ायर खोजते हैं.
- हम किसी उपयोगकर्ता की
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 ... }, ... } }, ... }
इस्तेमाल के सामान्य उदाहरण
ऐक्सेस के इस्तेमाल के ये सामान्य उदाहरण हैं:
- मुफ़्त (लॉगिन करने की ज़रूरत नहीं है): लॉगिन, सदस्यता या खरीदारी के बिना कॉन्टेंट उपलब्ध है.
- मुफ़्त (लॉगिन ज़रूरी है): कॉन्टेंट ऐक्सेस करने के लिए, उपयोगकर्ताओं को लॉग इन करना ज़रूरी है. हालांकि, इसके लिए सदस्यता लेने की ज़रूरत नहीं है.
- एक टियर की सदस्यता: कॉन्टेंट के लिए सदस्यता ज़रूरी है. सभी सदस्य अपनी सदस्यता के पैकेज पर ध्यान दिए बिना, एक ही कॉन्टेंट को ऐक्सेस कर सकते हैं. जैसे, फ़िल्में या एपिसोड.
- कई लेवल की सदस्यता: कॉन्टेंट के लिए सदस्यता ज़रूरी है. सदस्य अपनी सदस्यता के टियर के हिसाब से, अलग-अलग तरह का कॉन्टेंट ऐक्सेस कर सकते हैं. जैसे, फ़िल्में या एपिसोड. उदाहरण के लिए, सिल्वर बनाम गोल्ड.
- ऐड-ऑन सदस्यता: कॉन्टेंट के लिए सदस्यता ज़रूरी है. सदस्य अपनी नियमित सदस्यता के साथ-साथ, प्रीमियम कॉन्टेंट भी जोड़ सकते हैं.
- एक बार की गई खरीदारी: कॉन्टेंट खरीदा जा सकता है और इसके बाद उपयोगकर्ता इसे हमेशा के लिए ऐक्सेस कर सकता है.
- लाइव टीवी: किसी सदस्यता में स्थानीय, राष्ट्रीय, और प्रीमियम चैनलों का ऐक्सेस शामिल है.
- तीसरे पक्ष की सदस्यता: कॉन्टेंट की मदद से, उपयोगकर्ता को केबल सेवा देने वाली कंपनी की मदद से लॉग इन करना होगा.
मुफ़्त (लॉगिन की ज़रूरत नहीं)
लॉगिन करने की ज़रूरत नहीं है
सामग्री लॉगिन या सदस्यता के बिना उपलब्ध है.
{ "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" } } }
मल्टी-टियर सदस्यता
अलग-अलग तरह की सदस्यताओं वाले मॉडल में, सेवा देने वाली कंपनी में गोल्ड, सिल्वर, और ब्रॉन्ज़ जैसे कई सदस्यता टियर होते हैं. जिन उपयोगकर्ताओं के पास ऊपरी टीयर की सदस्यता है वे हर तरह का कॉन्टेंट ऐक्सेस कर सकते हैं. हालांकि, जिन उपयोगकर्ताओं के पास कम टीयर वाली सदस्यता है वे टियर वाले कॉन्टेंट को ऐक्सेस नहीं कर सकते.
नीचे दिया गया उदाहरण देखें:
- जेन गोल्ड टियर की सदस्यता लेती हैं. आपका एनटाइटलमेंट एंडपॉइंट, ये
entitlementId
आइडेंटिफ़ायर दिखाता है:example.com:bronze
example.com:silver
example.com:gold
- राजेश ब्रॉन्ज़ टीयर की सदस्यता लेता है. आपका एनटाइटलमेंट एंडपॉइंट, ये
entitlementId
दिखाता है:example.com:bronze
- आपका मीडिया ऐक्शन फ़ीड इन शर्तों के बारे में बताता है:
- फ़िल्म A के लिए
example.com:bronze
ज़रूरी है. - फ़िल्म B के लिए
example.com:silver
ज़रूरी है.
- फ़िल्म A के लिए
इस मामले में, Google जेन और जॉन के लिए ये ऐक्सेस लेवल तय करता है:
- जेन और जॉन, दोनों के पास फ़िल्म A का ऐक्सेस है.
- जेन के पास फ़िल्म B का ऐक्सेस है, लेकिन अमिताभ के पास नहीं है.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
ऐड-ऑन सदस्यता
ऐड-ऑन की सदस्यता वाले मॉडल में, सेवा देने वाली कंपनी, उपयोगकर्ताओं को अपनी सदस्यताएं बढ़ाने और मूल सदस्यता वाले चैनल जोड़ने की अनुमति देती है. उपयोगकर्ता जितने चाहें उतने चैनल जोड़ सकते हैं.
नीचे दिया गया उदाहरण देखें:
- जेन के पास
बुनियादी सदस्यता के साथ-साथ PRO और Sportz भी है. आपका एनटाइटलमेंट एंडपॉइंट,
entitlementId
आइडेंटिफ़ायर दिखाता है:example.com:basic
example.com:pro
example.com:sportz
- जय के पास सिर्फ़ बेसिक की सदस्यता है. आपका एनटाइटलमेंट एंडपॉइंट, ये
entitlementId
दिखाता है:example.com:basic
- आपका मीडिया ऐक्शन फ़ीड इन शर्तों के बारे में बताता है:
- फ़िल्म A के लिए
example.com:basic
ज़रूरी है. - फ़िल्म B के लिए
example.com:pro
ज़रूरी है.
- फ़िल्म A के लिए
इस मामले में, Google जेन और जॉन के लिए ये ऐक्सेस लेवल तय करता है:
- जेन और जॉन, दोनों के पास फ़िल्म A का ऐक्सेस है.
- जेन के पास फ़िल्म 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
प्रॉपर्टी के बारे में ज़्यादा जानने के लिए, paywall type सेक्शन पर जाएं.
एक सामान्य टियर पैकेज की ज़रूरत क्यों है?
Google के कई प्रॉडक्ट के लिए, टीवी और फ़िल्मों के सुझाव दिए जाते हैं. इनमें Google Search, Android TV, और Google Assistant शामिल हैं. उपयोगकर्ता को लागत से जुड़ी उम्मीदें सेट करने के लिए, Google को यह समझना चाहिए कि सामान्य टीयर का इस्तेमाल करके, सभी सदस्यों के लिए कौनसा कॉन्टेंट उपलब्ध है. Google को यह भी समझना होगा कि सदस्यों के लिए खास पैकेज के साथ कौनसा कॉन्टेंट उपलब्ध है.
Google तब तक सामान्य टीयर पर उपलब्ध शीर्षकों का सुझाव देता है, जब तक कि आप एनटाइटलमेंट एपीआई के साथ काम नहीं करते. एपीआई की मदद से, 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 से संपर्क करें.
कार्रवाई के लिए ऐक्सेस की खास बातें
रेफ़रंस के बारे में जानकारी पाने के लिए, ऐक्शन ऐक्सेस की खास बातों से जुड़ी प्रॉपर्टी सेक्शन देखें.