ऐक्सेस की ज़रूरी शर्तें

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

पहली इमेज. ऐक्सेस करने से जुड़ी ज़रूरी शर्तों की मदद से, आपके सदस्य आपके ऐप्लिकेशन या प्लैटफ़ॉर्म पर मौजूद कॉन्टेंट को ऐक्सेस कर पाते हैं.

कॉन्टेंट ऐक्सेस करने से जुड़ी ज़रूरी शर्तों के बारे में जानकारी

आपको अपने कैटलॉग में मौजूद हर कॉन्टेंट पैकेज के लिए, ऐक्सेस की ज़रूरी शर्त की जानकारी देनी होगी. ऐसा करते समय, इन बातों का ध्यान रखें:

  • क्या कॉन्टेंट ऐक्सेस करने के लिए, उपयोगकर्ताओं को आपके ऐप्लिकेशन या प्लैटफ़ॉर्म में लॉग इन करना पड़ता है?
  • क्या उपयोगकर्ताओं को सदस्यता लेनी होगी?

    सिर्फ़ स्मार्टवॉच पर की गई कार्रवाइयां:

    • क्या उपयोगकर्ताओं को सेवा देने वाली किसी बाहरी कंपनी की सदस्यता लेनी होगी?
    • क्या आपने अलग-अलग टीयर वाली, एक से ज़्यादा पैकेज वाली या ऐड-ऑन सदस्यता की सुविधा उपलब्ध कराई है?
  • सिर्फ़ वीडियो देखने की कार्रवाइयां: क्या उपयोगकर्ताओं को कॉन्टेंट किराये पर लेना या खरीदना होगा?

  • क्या ऐक्सेस करने की ज़रूरी शर्तें समय के साथ बदलती हैं?

  • क्या ऐक्सेस की ज़रूरी शर्त, डिवाइस की जगह की जानकारी पर निर्भर करती है?

ऐक्सेस से जुड़ी पाबंदियों के टाइप

ऐक्सेस से जुड़ी पाबंदियां दो तरह की होती हैं:

पेवॉल का टाइप

पेमेंट के तरीके के हिसाब से, कॉन्टेंट के ऐक्सेस पर पाबंदी लगाई जा सकती है. यहां दी गई टेबल में, पेवॉल के अलग-अलग टाइप के बारे में बताया गया है:

पेवॉल का टाइप उदाहरण कैटगरी
इसके लिए, खरीदारी करने या लॉग इन करने की ज़रूरत नहीं है. Crackle nologinrequired
उपयोगकर्ता को लॉग इन करना होगा, लेकिन उसके पास पैसे चुकाकर ली गई सदस्यता की ज़रूरत नहीं है. Vudu (एवीओडी) free
उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस, सदस्यता के टीयर पर निर्भर नहीं करता. Netflix

subscription

उपयोगकर्ता के पास चालू सदस्यता होनी चाहिए. ऐक्सेस, सदस्यता के टीयर पर निर्भर करता है. Hulu (ऐड-ऑन)

subscription

खरीदारी के बाद, कॉन्टेंट को सीमित समय के लिए ऐक्सेस किया जा सकता है. 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 प्रॉपर्टी में ये वैल्यू इस्तेमाल की जा सकती हैं:

  • Country, City, और State की सूची.
  • GeoShape ऑब्जेक्ट. ज़रूरी शर्तों के बारे में पूरी जानकारी के लिए, GeoShape प्रॉपर्टी सेक्शन देखें.
  • GeoShape ऑब्जेक्ट की सूची.

अगर कॉन्टेंट दुनिया भर में उपलब्ध है, तो eligibleRegion के लिए इस खास वैल्यू का इस्तेमाल करें:

"eligibleRegion": "EARTH",

eligibleRegion के इस्तेमाल के उदाहरण

eligibleRegion प्रॉपर्टी के इस्तेमाल के उदाहरण यहां दिए गए हैं:

  • उदाहरण 1: eligibleRegion में देशों की सूची है.
  • उदाहरण 2: eligibleRegion में GeoShape ऑब्जेक्ट, जिसमें ज़िप कोड की सूची शामिल है.
  • तीसरा उदाहरण: eligibleRegion में GeoShape ऑब्जेक्ट, जिसमें फ़ॉरवर्ड सोरटेशन एरिया (एफ़एसए) कोड की सूची शामिल है.
  • चौथा उदाहरण: eligibleRegion में GeoShape ऑब्जेक्ट, जिसमें डीएमए आईडी है.
  • पांचवां उदाहरण: eligibleRegion में GeoShape ऑब्जेक्ट की सूची है. हर फ़ाइल में एक डीएमए आईडी होता है.
  • छठा उदाहरण: ineligibleRegion, जिसमें ज़िप कोड ब्लॉक किए गए हैं.

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"
    }
  ]
}

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"
    ]
  }
}

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"
    ]
  }
}

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"
      }
    ]
  }
}

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 यह तरीका अपनाता है:

  1. हम उपयोगकर्ता के एनटाइटलमेंट आइडेंटिफ़ायर पाने के लिए, आपके एनटाइटलमेंट एंडपॉइंट पर एपीआई कॉल करते हैं.
  2. हम आपके Media Actions फ़ीड से, कॉन्टेंट के ज़रूरी एनटाइटलमेंट आइडेंटिफ़ायर खोजते हैं.
  3. हम उपयोगकर्ता के 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 ज़रूरी है.

इस स्थिति में, 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 ज़रूरी है.

इस स्थिति में, 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
    }
  ],

ऐड-ऑन

ऐड-ऑन की सदस्यता वाले मॉडल में, सेवा देने वाली कंपनी उपयोगकर्ताओं को अपने एनटाइटलमेंट बढ़ाने और बुनियादी सदस्यता में चैनल जोड़ने की अनुमति देती है. उपयोगकर्ता जितने चाहें उतने चैनल जोड़ सकते हैं. नीचे दी गई इमेज, पैकेज के स्ट्रक्चर का उदाहरण है.

हर उपयोगकर्ता को शुरुआत में बुनियादी चैनल मिलता है. साथ ही, वह PRO, Sportz, और Moviemax चैनलों में से किसी भी कॉम्बिनेशन को जोड़ सकता है.
छठी इमेज. ऐड-ऑन की सदस्यता के पैकेज का स्ट्रक्चर.

अगर आपका चैनल सभी लोगों के लिए उपलब्ध है और चैनल के लिए कोई शुल्क नहीं लिया जाता है, तो पैकेज को सामान्य टीयर पैकेज के साथ मर्ज किया जा सकता है.

नीचे दिए गए कोड के उदाहरण में, बुनियादी पैकेज सामान्य टीयर है, क्योंकि सभी उपयोगकर्ताओं के पास इस पैकेज के सभी कॉन्टेंट का ऐक्सेस होता है.

"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
    }
  ],

ओवरलैप होने वाले कॉन्टेंट वाले पैकेज

कॉन्टेंट मॉडल में, जब पैकेज में एक जैसा कॉन्टेंट होता है, तो सेवा देने वाली कंपनी ऐसे पैकेज बेचती है जिनमें दूसरे पैकेज का कुछ कॉन्टेंट शामिल होता है. नीचे दी गई इमेज, पैकेज के स्ट्रक्चर का उदाहरण है.

वेन डायग्राम, जिसमें पैकेज 1, 2, और 3 के बीच ओवरलैप को &#39;कॉमन टीयर&#39; के तौर पर लेबल किया गया है.
सातवीं इमेज. इंटरसेक्शन वाले कॉन्टेंट के साथ पैकेज का स्ट्रक्चर.

नीचे दिए गए कोड के उदाहरण में, सेवा देने वाली कंपनी तीन पैकेज ऑफ़र करती है. इनमें से कुछ कॉन्टेंट सभी पैकेज में शामिल है. इस मामले में, एक चौथा पैकेज ज़रूरी है, जो सामान्य टीयर को दिखाता है. इसमें तीनों पैकेज में उपलब्ध सभी कॉन्टेंट शामिल होना चाहिए.

"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
    }
  ],

ऐसे पैकेज जिनमें ओवरलैप होने वाला कॉन्टेंट शामिल न हो

कॉन्टेंट मॉडल में, जब सभी कॉन्टेंट पैकेज एक-दूसरे से मेल नहीं खाते, तो सेवा देने वाली कंपनी ऐसे पैकेज बेचती है जिनमें दूसरे पैकेज का कोई कॉन्टेंट शामिल नहीं होता. नीचे दी गई इमेज, पैकेज के स्ट्रक्चर का उदाहरण है.

पैकेज 1, 2, और 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
    }
  ],

एनटाइटलमेंट एंडपॉइंट

इस सेक्शन में दी गई जानकारी का इस्तेमाल करके, एचटीटीपीएस एंडपॉइंट को होस्ट करें. यह एंडपॉइंट, किसी उपयोगकर्ता से जुड़े एनटाइटलमेंट दिखाता है.

पूर्वापेक्षा

शुरू करने से पहले, पुष्टि करें कि आपकी सेवा, Google के साथ OAuth 2.0 फ़्लो के साथ काम करती है.

अनुरोध

उपयोगकर्ता के एनटाइटलमेंट पाने के लिए, Google एक अनुरोध भेजता है. इसमें उपयोगकर्ता का OAuth टोकन शामिल होता है. आपके एंडपॉइंट को उस OAuth टोकन के आधार पर उपयोगकर्ता की पहचान करनी होगी. नीचे दिया गया उदाहरण देखें:

GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer <OAuthToken>

जवाब

आपके एंडपॉइंट को इन प्रॉपर्टी के साथ रिस्पॉन्स देना होगा:

प्रॉपर्टी
subscription

ज़रूरी है

यह रूट रिस्पॉन्स में मौजूद एक फ़ील्ड है.

subscription.type

ज़रूरी है

इस प्रॉपर्टी में ये वैल्यू हो सकती हैं:

  • ActiveSubscription: उपयोगकर्ता के पास सेवा देने वाली कंपनी की चालू सदस्यता हो.
  • ActiveTrial: उपयोगकर्ता के पास, सेवा देने वाली कंपनी के लिए, मुफ़्त में आज़माने की सुविधा चालू है.
  • InactiveSubscription: उपयोगकर्ता के पास कोई चालू सदस्यता या मुफ़्त में आज़माने की सुविधा नहीं है.
subscription.expiration_date

ज़रूरी नहीं

ISO 8601 फ़ॉर्मैट में, इस एनटाइटलमेंट की समयसीमा खत्म होने की तारीख. इसमें टाइमज़ोन भी शामिल है. ज़्यादा जानकारी के लिए, समयसीमा खत्म होने की तारीखें देखें.

entitlements

ज़रूरी नहीं

इस रूट प्रॉपर्टी में, उपयोगकर्ता के पास मौजूद entitlementId वैल्यू होती हैं.

entitlements.entitlement

अगर सदस्यता के टाइप के आधार पर, आपके स्ट्रीमिंग कैटलॉग का ऐक्सेस अलग-अलग होता है, तो यह एट्रिब्यूट ज़रूरी है.

इस प्रॉपर्टी में entitlementId शामिल है. ज़्यादा जानकारी के लिए, एनटाइटलमेंट आइडेंटिफ़ायर देखें.

entitlements.expiration_date

ज़रूरी नहीं

ISO 8601 फ़ॉर्मैट में, इस सदस्यता की समयसीमा खत्म होने की तारीख. इसमें टाइमज़ोन भी शामिल है. ज़्यादा जानकारी के लिए, समयसीमा खत्म होने की तारीखें देखें.

खत्म होने की तारीखें

एंडपॉइंट रिस्पॉन्स में, समयसीमा खत्म होने की तारीखों से जुड़ी दो प्रॉपर्टी होती हैं: subscription.expiration_date और entitlements.expiration_date. इनमें से किसी एक या दोनों को शामिल नहीं किया जा सकता. इनमें से किसका इस्तेमाल करना है, यह आपकी सदस्यता के मॉडल पर निर्भर करता है.

सदस्यता का मॉडल
आपके स्ट्रीमिंग कैटलॉग का ऐक्सेस, सभी सदस्यों के लिए एक जैसा होता है. आपको entitlements प्रॉपर्टी की जानकारी देने की ज़रूरत नहीं है. इसलिए, subscription.expiration_date की जानकारी दें.

उपयोगकर्ता की सदस्यता की जानकारी के आधार पर, आपके स्ट्रीमिंग कैटलॉग का ऐक्सेस अलग-अलग होता है.

अगर आपके सदस्यता मॉडल में कई टीयर या ऐसे ऐड-ऑन हैं जिनकी समय के साथ समयसीमा खत्म हो जाती है, तो इनमें से कोई एक तरीका अपनाएं:

  • अगर सभी entitlements.entitlement वैल्यू एक ही समय पर खत्म होती हैं, तो subscription.expiration_date की जानकारी दें.
  • अगर कुछ entitlements.entitlement वैल्यू की समयसीमा अलग-अलग समय पर खत्म होती है, तो entitlements.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 से संपर्क करें.

ऐक्शन ऐक्सेस स्पेसिफ़िकेशन प्रॉपर्टी

रेफ़रंस के तौर पर जानकारी पाने के लिए, ऐक्शन ऐक्सेस स्पेसिफ़िकेशन प्रॉपर्टी सेक्शन देखें.