उपयोगकर्ता ऐसा कॉन्टेंट देखना या सुनना पसंद करते हैं जिसे वे पहले से ऐक्सेस कर सकते हैं. जैसे, मौजूदा सदस्यता वाला कॉन्टेंट. अगर Google को यह पता है कि कोई उपयोगकर्ता आपके ऐप्लिकेशन या प्लैटफ़ॉर्म पर किस तरह का कॉन्टेंट ऐक्सेस कर सकता है, तो Google के अलग-अलग प्लैटफ़ॉर्म पर उपयोगकर्ता को ज़्यादा काम का अनुभव दिया जा सकता है. साथ ही, उसे उस कॉन्टेंट पर रीडायरेक्ट किया जा सकता है.
कॉन्टेंट का ऐक्सेस पाने की ज़रूरी शर्तों का पता लगाना
आपको अपने कैटलॉग में मौजूद हर कॉन्टेंट पैकेज के लिए, ऐक्सेस करने की ज़रूरी शर्तें बतानी होंगी. ऐसा करते समय, इन सवालों पर विचार करें:
- क्या लोगों को कॉन्टेंट ऐक्सेस करने के लिए, आपके ऐप्लिकेशन या प्लैटफ़ॉर्म में लॉग इन करना पड़ता है?
क्या उपयोगकर्ताओं को सदस्यता लेनी होगी?
सिर्फ़ वीडियो देखने से जुड़ी कार्रवाइयां:
- क्या उपयोगकर्ताओं को किसी बाहरी सेवा देने वाली कंपनी की सदस्यता लेनी होगी?
- क्या आपने अलग-अलग टियर, एक से ज़्यादा पैकेज या ऐड-ऑन वाली सदस्यता का विकल्प दिया है?
सिर्फ़ देखने की कार्रवाइयां: क्या उपयोगकर्ताओं को कॉन्टेंट किराये पर लेना या खरीदना होगा?
क्या समय के साथ, ऐक्सेस करने की ज़रूरी शर्तों में बदलाव होता है?
क्या ऐक्सेस करने की ज़रूरी शर्तें, डिवाइस की जगह की जानकारी पर निर्भर करती हैं?
ऐक्सेस से जुड़ी पाबंदियों के टाइप
ऐक्सेस से जुड़ी पाबंदियां दो तरह की होती हैं:
पेवॉल का टाइप
पेवॉल के टाइप के हिसाब से, कॉन्टेंट को ऐक्सेस करने पर पाबंदी लगाई जा सकती है. यहां दी गई टेबल में, अलग-अलग तरह के पेवॉल के बारे में जानकारी दी गई है:
| पेवॉल का टाइप | उदाहरण | कैटगरी |
|---|---|---|
| इसके लिए, खरीदारी करने या लॉगिन करने की ज़रूरत नहीं है. | 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"
}
},
...
}
भौगोलिक जगह
आपको उन भौगोलिक क्षेत्रों की जानकारी देनी होगी जहां कॉन्टेंट उपलब्ध है. इनमें से किसी एक या दोनों प्रॉपर्टी का इस्तेमाल करें:
- कार्रवाई के ऐक्सेस की जानकारी ऑब्जेक्ट की
eligibleRegionप्रॉपर्टी. यह प्रॉपर्टी ज़रूरी है. - कार्रवाई के ऐक्सेस की जानकारी ऑब्जेक्ट की
ineligibleRegionप्रॉपर्टी.
कोई उपयोगकर्ता कॉन्टेंट तब ऐक्सेस कर सकता है, जब उसके डिवाइस की जगह की जानकारी, eligibleRegion में बताए गए किसी भी क्षेत्र में हो और ineligibleRegion में बताए गए किसी भी क्षेत्र में न हो.
eligibleRegion और ineligibleRegion प्रॉपर्टी के लिए, ये वैल्यू इस्तेमाल की जा सकती हैं:
Country,City, औरStateकी सूची.- एक
GeoShapeऑब्जेक्ट. ज़रूरी शर्तों के बारे में ज़्यादा जानने के लिए,GeoShapeप्रॉपर्टी सेक्शन देखें. GeoShapeऑब्जेक्ट की सूची.
अगर कॉन्टेंट दुनिया भर में उपलब्ध है, तो eligibleRegion एट्रिब्यूट के लिए यह खास वैल्यू इस्तेमाल करें:
"eligibleRegion": "EARTH",
eligibleRegion के इस्तेमाल के उदाहरण
यहां eligibleRegion प्रॉपर्टी के इस्तेमाल के उदाहरण दिए गए हैं:
- पहला उदाहरण:
eligibleRegionमें देशों की सूची दी गई है. - दूसरा उदाहरण:
eligibleRegionमेंGeoShapeऑब्जेक्ट के साथ, जिसमें पिन कोड की सूची शामिल है. - तीसरा उदाहरण:
GeoShapeऑब्जेक्ट के साथeligibleRegion. इसमें फ़ॉरवर्ड सॉर्टेशन एरिया (एफ़एसए) कोड की सूची शामिल है. - चौथा उदाहरण:
GeoShapeऑब्जेक्ट के साथeligibleRegion, जिसमें डीएमए आईडी शामिल है. - उदाहरण 5:
GeoShapeऑब्जेक्ट की सूची के साथeligibleRegion. इनमें से हर एक में डीएमए आईडी होता है. - छठा उदाहरण:
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" ] } }
उदाहरण 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 }, "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" ] } }
चौथा उदाहरण
eligibleRegion में GeoShape ऑब्जेक्ट होता है. इसमें डीएमए आईडी शामिल होता है:
"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
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 }, "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 यह तरीका अपनाता है:
- हम आपके Entitlements एंडपॉइंट पर एपीआई कॉल करते हैं, ताकि उपयोगकर्ता के एनटाइटलमेंट आइडेंटिफ़ायर मिल सकें.
- हम आपके मीडिया ऐक्शन फ़ीड से, कॉन्टेंट के ज़रूरी एनटाइटलमेंट आइडेंटिफ़ायर ढूंढते हैं.
- हम किसी उपयोगकर्ता के
entitlementIdको आपके फ़ीड में मौजूद मीडिया सदस्यता ऑब्जेक्ट कीidentifierप्रॉपर्टी से मैच करते हैं. अगर कम से कम एकentitlementIdमैच करता है, तो हम यह तय करते हैं कि उपयोगकर्ता कॉन्टेंट को ऐक्सेस कर सकता है.
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" }, ... } }, ... }
ऐक्सेस करने के सामान्य उदाहरण
यहां ऐक्सेस करने के कुछ सामान्य उदाहरण दिए गए हैं:
- बिना किसी शुल्क के (लॉगिन करने की ज़रूरत नहीं): इस तरह के कॉन्टेंट को देखने के लिए, लॉगिन करने, सदस्यता लेने या खरीदने की ज़रूरत नहीं होती.
- बिना शुल्क के (लॉगिन करना ज़रूरी है): इस तरह के कॉन्टेंट को ऐक्सेस करने के लिए, उपयोगकर्ताओं को लॉग इन करना ज़रूरी होता है. हालांकि, इसके लिए सदस्यता की ज़रूरत नहीं होती.
- एक टियर वाली सदस्यता: कॉन्टेंट देखने के लिए सदस्यता लेना ज़रूरी है. सभी सदस्य एक ही कॉन्टेंट को ऐक्सेस कर सकते हैं. चाहे वह फ़िल्में हों या एपिसोड. इससे कोई फ़र्क़ नहीं पड़ता कि उन्होंने सदस्यता का कौन-सा पैकेज लिया है.
- एक से ज़्यादा टियर वाली सदस्यता: इस कॉन्टेंट को देखने के लिए सदस्यता ज़रूरी है. सदस्यता के टियर के हिसाब से, सदस्य अलग-अलग कॉन्टेंट ऐक्सेस कर सकते हैं. जैसे, फ़िल्में या एपिसोड. उदाहरण के लिए, सिल्वर बनाम गोल्ड.
- ऐड-ऑन की सदस्यता: इस कॉन्टेंट को देखने के लिए, सदस्यता लेना ज़रूरी है. सदस्य, अपनी सामान्य सदस्यता के साथ प्रीमियम कॉन्टेंट को भी जोड़ सकते हैं.
- एक बार की जाने वाली खरीदारी: कॉन्टेंट को खरीदा जा सकता है. इसके बाद, उपयोगकर्ता इसे हमेशा के लिए ऐक्सेस कर सकता है.
- लाइव टीवी: सदस्यता में, स्थानीय, नैशनल, और प्रीमियम चैनलों को ऐक्सेस करने की सुविधा शामिल होती है.
- तीसरे पक्ष की सदस्यता: इस कॉन्टेंट को देखने के लिए, उपयोगकर्ता को केबल टीवी सेवा देने वाली कंपनी के खाते से लॉग इन करना होगा.
मुफ़्त (लॉगिन करने की ज़रूरत नहीं है)
लॉगिन करने की ज़रूरत नहीं है
कॉन्टेंट को बिना लॉग इन किए या सदस्यता लिए ऐक्सेस किया जा सकता है.
{ "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" }, "additionalProperty": { "@type": "PropertyValue", "name": "DisplaySubscriptionIdentifier", "value": "http://www.example.com/example_package" }, "eligibleRegion": { "@type": "Country", "name": "US" } } }
एक से ज़्यादा लेवल वाली सदस्यता
टियर वाली सदस्यता के मॉडल में, सेवा देने वाला व्यक्ति या कंपनी के पास सदस्यता के कई टियर होते हैं. जैसे, गोल्ड, सिल्वर, और ब्रॉन्ज़. ज़्यादा कीमत वाली सदस्यता लेने वाले लोग, कम कीमत वाली सदस्यता का सारा कॉन्टेंट ऐक्सेस कर सकते हैं. हालांकि, कम कीमत वाली सदस्यता लेने वाले लोग, ज़्यादा कीमत वाली सदस्यता का कॉन्टेंट ऐक्सेस नहीं कर सकते.
यह उदाहरण देखें:
- जेन ने गोल्ड टियर की सदस्यता ली है. आपके एनटाइटलमेंट एंडपॉइंट से, यहां दिए गए
entitlementIdआइडेंटिफ़ायर मिलते हैं:example.com:bronzeexample.com:silverexample.com:gold
- जॉन ने ब्रॉन्ज़ टियर की सदस्यता ली है. आपका एनटाइटलमेंट एंडपॉइंट, यहां दिए गए
entitlementIdदिखाता है:example.com:bronze
- मीडिया के लिए कार्रवाइयाँ फ़ीड में, इन ज़रूरी शर्तों के बारे में बताया गया है:
- फ़िल्म A के लिए
example.com:bronzeज़रूरी है. - फ़िल्म B के लिए
example.com:silverज़रूरी है.
- फ़िल्म A के लिए
इस स्थिति में, Google, जेन और जॉन के लिए ऐक्सेस के ये लेवल तय करता है:
- जेन और जॉन, दोनों के पास Movie A का ऐक्सेस है.
- जेन के पास फ़िल्म 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" }, ... } }
ऐड-ऑन की सदस्यता
ऐड-ऑन की सदस्यता के मॉडल में, सेवा देने वाला व्यक्ति या कंपनी उपयोगकर्ताओं को उनके अधिकार बढ़ाने और बुनियादी सदस्यता में चैनल जोड़ने की अनुमति देती है. उपयोगकर्ता जितने चाहें उतने चैनल जोड़ सकते हैं.
यह उदाहरण देखें:
- जेन के पास Basic सदस्यता के साथ-साथ PRO और Sportz सदस्यता भी है. आपके एनटाइटलमेंट एंडपॉइंट से, यहां दिए गए
entitlementIdआइडेंटिफ़ायर मिलते हैं:example.com:basicexample.com:proexample.com:sportz
- जॉन के पास सिर्फ़ Basic प्लान की सदस्यता है. आपका एनटाइटलमेंट एंडपॉइंट, यहां दिए गए
entitlementIdदिखाता है:example.com:basic
- मीडिया के लिए कार्रवाइयाँ फ़ीड में, इन ज़रूरी शर्तों के बारे में बताया गया है:
- फ़िल्म A के लिए
example.com:basicज़रूरी है. - फ़िल्म B के लिए
example.com:proज़रूरी है.
- फ़िल्म A के लिए
इस स्थिति में, Google, जेन और जॉन के लिए ऐक्सेस के ये लेवल तय करता है:
- जेन और जॉन, दोनों के पास Movie 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 } ], "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पर सेट करें.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शामिल करें.
लाइव टीवी
मीडिया के लिए कार्रवाइयाँ फ़ीड में, लाइव टीवी चैनल या इवेंट के ऐक्सेस को इन दो उपयोगकर्ता शर्तों के आधार पर सीमित किया जा सकता है:
-
उपयोगकर्ता के डिवाइस की जगह की जानकारी
टीवी चैनल का ऐक्सेस सीमित करने के लिए, वह इलाका चुनें जहां उपयोगकर्ताओं के पास इसका ऐक्सेस है. यह शर्त आम तौर पर, स्थानीय ब्रॉडकास्ट टीवी चैनलों पर लागू होती है.
-
उपयोगकर्ता के खाते का स्टेटस
अगर किसी टीवी चैनल का ऐक्सेस, उपयोगकर्ता के खाते की सेटिंग पर निर्भर करता है, तो पाबंदी दिखाने के लिए एनटाइटलमेंट आइडेंटिफ़ायर का इस्तेमाल करें.
यह शर्त आम तौर पर, इस्तेमाल के इन उदाहरणों पर लागू होती है:
- बंडल: राष्ट्रीय चैनल अक्सर बंडलों में शामिल होते हैं. उपयोगकर्ता यह चुनते हैं कि उन्हें किस बंडल की सदस्यता लेनी है.
- ऐड-ऑन: कुछ प्रीमियम चैनलों के लिए, उपयोगकर्ताओं को अपनी सदस्यता में चुनिंदा अतिरिक्त चैनल जोड़ने होते हैं.
- रीजनल स्पोर्ट्स नेटवर्क (आरएसएन): आरएसएन आम तौर पर, उपयोगकर्ता की "घर" की लोकेशन से जुड़े होते हैं. उपयोगकर्ता, 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 का इस्तेमाल नहीं किया है, तो सामान्य टियर में उपलब्ध टाइटल इस्तेमाल करें. इस एपीआई की मदद से, 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 |
ज़रूरी नहीं इस एनटाइटलमेंट के खत्म होने की तारीख. यह आईएसओ 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 से संपर्क करके एंडपॉइंट का यूआरएल बताएं.
कार्रवाई के ऐक्सेस की जानकारी देने वाली प्रॉपर्टी
रेफ़रंस के लिए, कार्रवाई के ऐक्सेस की खास जानकारी वाली प्रॉपर्टी सेक्शन देखें.