ব্যবহারকারীরা এমন সামগ্রী দেখতে বা শুনতে পছন্দ করেন যা তারা ইতিমধ্যে অ্যাক্সেস করতে পারে, যেমন তাদের বিদ্যমান সাবস্ক্রিপশন সামগ্রী। আপনার অ্যাপ বা প্ল্যাটফর্মে কোন ব্যবহারকারী কোন বিষয়বস্তু অ্যাক্সেস করতে পারে তা যদি Google জানে, তাহলে Google ব্যবহারকারীকে সেই বিষয়বস্তুর দিকে পরিচালিত করার জন্য একটি ভাল অনুসন্ধান ফলাফল বা প্রতিক্রিয়া তৈরি করতে পারে।
![](https://google-developers.gonglchuangl.net/static/actions/media/images/image-entitlements-4.png?authuser=1&hl=bn)
বিষয়বস্তু অ্যাক্সেস প্রয়োজনীয়তা সনাক্ত করুন
আপনার ক্যাটালগের প্রতিটি সামগ্রী প্যাকেজের জন্য আপনাকে অবশ্যই অ্যাক্সেসের প্রয়োজনীয়তা সনাক্ত করতে হবে। আপনি যখন তা করবেন, নিম্নলিখিত প্রশ্নগুলি বিবেচনা করুন:
- বিষয়বস্তু অ্যাক্সেস করতে ব্যবহারকারীদের কি আপনার অ্যাপ বা প্ল্যাটফর্মে লগ ইন করতে হবে?
ব্যবহারকারীদের একটি সাবস্ক্রিপশন প্রয়োজন?
শুধুমাত্র কর্ম দেখুন:
- ব্যবহারকারীদের একটি বহিরাগত পরিষেবা প্রদানকারী থেকে একটি সদস্যতা প্রয়োজন?
- আপনি কি টায়ার্ড, মাল্টি-প্যাকেজ বা অ্যাড-অন সাবস্ক্রিপশন অফার করেন?
শুধুমাত্র ক্রিয়াগুলি দেখুন: ব্যবহারকারীদের কি সামগ্রী ভাড়া বা ক্রয় করতে হবে?
সময়ের সাথে সাথে অ্যাক্সেসের প্রয়োজনীয়তা কি পরিবর্তিত হয়?
অ্যাক্সেসের প্রয়োজনীয়তা কি ডিভাইসের অবস্থানের উপর নির্ভর করে?
অ্যাক্সেস সীমাবদ্ধতার ধরন
দুটি ধরণের অ্যাক্সেস সীমাবদ্ধতা রয়েছে:
পেওয়াল টাইপ
আপনি পেওয়ালের ধরন দ্বারা সামগ্রীতে অ্যাক্সেস সীমাবদ্ধ করতে পারেন। নিম্নলিখিত সারণীতে বিভিন্ন ধরনের পেওয়ালের বিবরণ রয়েছে:
পেওয়াল টাইপ | উদাহরণ | শ্রেণী |
---|---|---|
কোন ক্রয় বা লগইন প্রয়োজন নেই. | কর্কশ | nologinrequired |
ব্যবহারকারীকে অবশ্যই লগ ইন করতে হবে, তবে অর্থপ্রদানের সদস্যতার প্রয়োজন নেই। | Vudu (AVOD) | free |
ব্যবহারকারীর অবশ্যই একটি সক্রিয় সদস্যতা থাকতে হবে। অ্যাক্সেস সাবস্ক্রিপশন স্তর থেকে স্বাধীন। | নেটফ্লিক্স | |
ব্যবহারকারীর অবশ্যই একটি সক্রিয় সদস্যতা থাকতে হবে। অ্যাক্সেস সাবস্ক্রিপশন স্তরের উপর নির্ভরশীল। | হুলু (অ্যাড-অন) | |
সামগ্রী কেনার পরে একটি সীমাবদ্ধ সময়ের জন্য উপলব্ধ। | ভুডু | rental |
সামগ্রী কেনার পরে একটি অনির্দিষ্ট সময়ের জন্য উপলব্ধ. | ভুডু | purchase |
বিষয়বস্তু তারের সদস্যতা দ্বারা উপলব্ধ. | এইচবিও যান | 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
সম্পত্তির ব্যবহার-কেস উদাহরণ:
- উদাহরণ 1: দেশের তালিকা সহ
eligibleRegion
। - উদাহরণ 2:
GeoShape
অবজেক্ট সহeligibleRegion
যেখানে জিপ কোডগুলির একটি তালিকা রয়েছে৷ - উদাহরণ 3: একটি
GeoShape
অবজেক্ট সহeligibleRegion
যাতে ফরোয়ার্ড সর্টেশন এরিয়া (FSA) কোডগুলির একটি তালিকা রয়েছে৷ - উদাহরণ 4: একটি
GeoShape
অবজেক্ট সহeligibleRegion
যেখানে একটি DMA আইডি রয়েছে৷ - উদাহরণ 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" ] } }
উদাহরণ 3
একটি GeoShape
অবজেক্ট সহ eligibleRegion
যাতে ফরোয়ার্ড সর্টেশন এরিয়া (FSA) কোডগুলির একটি তালিকা রয়েছে:
"actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/local_tv_network/subscription", "name": "Example Subscription", "commonTier": true }, "eligibleRegion":{ "@type": "GeoShape", "@id": "http://example.com/area2", "addressCountry": "CA", "postalCode": [ "1A1", "K1A" ] } }
উদাহরণ 4
একটি 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
। প্রতিটিতে একটি DMA আইডি রয়েছে:
"actionAccessibilityRequirement" : { "@type" : "ActionAccessSpecification", "eligibleRegion" : [ { "@id" : "http://example.com/dma/601", "@type" : "GeoShape", "addressCountry" : "US", "identifier" : { "@type" : "PropertyValue", "propertyID" : "DMA_ID", "value" : "601" } }, { "@id" : "http://example.com/dma/602", "@type" : "GeoShape", "addressCountry" : "US", "identifier" : { "@type" : "PropertyValue", "propertyID" : "DMA_ID", "value" : "602" } } ] }
উদাহরণ 6
ব্লক করা জিপ কোড সহ ineligibleRegion
:
"actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/local_tv_network/subscription", "name": "Example Subscription", "commonTier": true }, "eligibleRegion": { "@type": "Country", "name": "US" }, "ineligibleRegion": { "@type": "GeoShape", "@id": "http://example.com/area1", "addressCountry": "US", "postalCode": [ "94118", "94119" ] } }
এনটাইটেলমেন্ট শনাক্তকারী
এনটাইটেলমেন্ট শনাক্তকারী, entitlementId
, এমন একটি স্ট্রিংকে বোঝায় যা আপনার মিডিয়া ক্যাটালগের একটি গোষ্ঠীর সামগ্রীতে অ্যাক্সেসের প্রতিনিধিত্ব করে। আপনার সামগ্রীতে ব্যবহারকারীর অ্যাক্সেস আছে কিনা তা নির্ধারণ করতে, Google নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করে:
- ব্যবহারকারীর এনটাইটেলমেন্ট শনাক্তকারী পেতে আমরা আপনার এনটাইটেলমেন্ট এন্ডপয়েন্টে একটি API কল করি।
- আমরা আপনার মিডিয়া অ্যাকশন ফিড থেকে বিষয়বস্তুর প্রয়োজনীয় এনটাইটেলমেন্ট শনাক্তকারীর সন্ধান করি।
- আমরা আপনার ফিডে মিডিয়া সাবস্ক্রিপশন অবজেক্টের
identifier
প্রপার্টির সাথে ব্যবহারকারীরentitlementId
মেলে। যদি অন্তত একটিentitlementId
মেলে, আমরা নির্ধারণ করি যে ব্যবহারকারী সামগ্রীটি অ্যাক্সেস করতে পারবেন।
![](https://google-developers.gonglchuangl.net/static/actions/media/images/image-entitlements-5.png?authuser=1&hl=bn)
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" } } }
-
nologinrequired
হিসাবেcategory
সেট করুন। -
expectAcceptanceOf
অন্তর্ভুক্ত করবেন না।
বিনামূল্যে (লগইন প্রয়োজন)
লগইন প্রয়োজন
বিষয়বস্তু ব্যবহারকারীদের লগ ইন করা প্রয়োজন কিন্তু একটি সদস্যতা প্রয়োজন হয় না.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "free", "availabilityStarts": "2015-01-01T00:00Z", "availabilityEnds": "2015-12-31T00:00Z", "eligibleRegion": { "@type": "Country", "name": "US" } } }
-
free
category
সেট করুন. -
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" } } }
মাল্টি-টায়ার সাবস্ক্রিপশন
একটি টায়ার্ড সাবস্ক্রিপশন মডেলে, একটি পরিষেবা প্রদানকারীর একাধিক সাবস্ক্রিপশন স্তর রয়েছে, যেমন গোল্ড , সিলভার , এবং ব্রোঞ্জ ৷ যে ব্যবহারকারীদের উপরের স্তরের সদস্যতা রয়েছে তারা নিম্ন স্তরের সমস্ত সামগ্রী অ্যাক্সেস করতে পারে। যাইহোক, নিম্ন স্তরের সদস্যতা আছে এমন ব্যবহারকারীরা উপরের স্তরের সামগ্রী অ্যাক্সেস করতে পারবেন না।
![](https://google-developers.gonglchuangl.net/static/actions/media/images/image-entitlements-2.png?authuser=1&hl=bn)
নিম্নলিখিত দৃশ্যকল্প বিবেচনা করুন:
- জেন গোল্ড টায় সাবস্ক্রাইব করে। আপনার এনটাইটেলমেন্ট এন্ডপয়েন্ট নিম্নলিখিত
entitlementId
আইডি শনাক্তকারী প্রদান করে:-
example.com:bronze
-
example.com:silver
-
example.com:gold
-
- জন ব্রোঞ্জ স্তরে সদস্যতা নিয়েছে৷ আপনার এনটাইটেলমেন্ট এন্ডপয়েন্ট নিম্নলিখিত
entitlementId
প্রদান করে:-
example.com:bronze
-
- আপনার মিডিয়া অ্যাকশন ফিড নিম্নলিখিত প্রয়োজনীয়তা বর্ণনা করে:
- মুভি A এর প্রয়োজন
example.com:bronze
. - মুভি B এর প্রয়োজন
example.com:silver
।
- মুভি A এর প্রয়োজন
এই পরিস্থিতিতে, Google জেন এবং জন এর জন্য নিম্নলিখিত অ্যাক্সেস স্তর নির্ধারণ করে:
- জেন এবং জন উভয়েরই মুভি এ অ্যাক্সেস রয়েছে।
- জেন মুভি B- তে অ্যাক্সেস পায়, কিন্তু জন তা করে না।
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "subscription", "requiresSubscription": { "@type": "MediaSubscription", "@id": "http://www.example.com/basic_subscription", "name": "Bronze", "commonTier": true ... }, ... } }
অ্যাড-অন সাবস্ক্রিপশন
একটি অ্যাড-অন সাবস্ক্রিপশন মডেলে, একটি পরিষেবা প্রদানকারী ব্যবহারকারীদের তাদের এনটাইটেলমেন্ট প্রসারিত করতে এবং একটি বেস সাবস্ক্রিপশনে চ্যানেল যোগ করার অনুমতি দেয়। ব্যবহারকারীরা যত খুশি চ্যানেল যোগ করতে পারেন।
![](https://google-developers.gonglchuangl.net/static/actions/media/images/image-entitlements-3.png?authuser=1&hl=bn)
নিম্নলিখিত দৃশ্যকল্প বিবেচনা করুন:
- বেসিক সাবস্ক্রিপশন ছাড়াও জেনের 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 জেন এবং জন এর জন্য নিম্নলিখিত অ্যাক্সেস স্তর নির্ধারণ করে:
- জেন এবং জন উভয়েরই মুভি এ অ্যাক্সেস রয়েছে।
- জেন মুভি 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/" } } } }
-
purchase
জন্যcategory
সেট করুন। - ক্রয়ের মূল্য নির্দেশ করার জন্য
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/" } } } }
-
rental
জন্যcategory
সেট করুন। - ভাড়ার মূল্য নির্দেশ করার জন্য
actionAccessibilityRequirement
expectAcceptanceOf
অন্তর্ভুক্ত করুন।
সরাসরি সম্প্রচার
একটি মিডিয়া অ্যাকশন ফিডে, আপনি নিম্নলিখিত দুটি ব্যবহারকারীর শর্তের ভিত্তিতে একটি লাইভ টিভি চ্যানেল বা ইভেন্টে অ্যাক্সেস সীমাবদ্ধ করতে পারেন:
- ব্যবহারকারীর ডিভাইসের অবস্থান
টিভি চ্যানেলে অ্যাক্সেস সীমিত করতে, ব্যবহারকারীদের যেখানে অ্যাক্সেস আছে সেটি নির্দিষ্ট করুন। এই শর্তটি সাধারণত স্থানীয় সম্প্রচার টিভি চ্যানেলের ক্ষেত্রে প্রযোজ্য।
- ব্যবহারকারীর অ্যাকাউন্টের অবস্থা
যদি কোনও টিভি চ্যানেলে অ্যাক্সেস ব্যবহারকারীর অ্যাকাউন্ট-স্তরের সেটিংসের উপর নির্ভর করে, তাহলে সীমাবদ্ধতা উপস্থাপন করতে এনটাইটেলমেন্ট শনাক্তকারী ব্যবহার করুন।
এই শর্তটি সাধারণত নিম্নলিখিত ব্যবহারের ক্ষেত্রে প্রযোজ্য:
- বান্ডেল: জাতীয় চ্যানেলগুলি প্রায়শই বান্ডিলে অন্তর্ভুক্ত থাকে এবং ব্যবহারকারীরা বেছে নেয় যে তারা কোন বান্ডেলটিতে সদস্যতা নিতে চান।
- অ্যাড-অন: কিছু প্রিমিয়াম চ্যানেলের জন্য ব্যবহারকারীদের বেছে বেছে তাদের সাবস্ক্রিপশনে অতিরিক্ত চ্যানেল যোগ করতে হয়।
- আঞ্চলিক ক্রীড়া নেটওয়ার্ক (RSN): RSN সাধারণত একজন ব্যবহারকারীর "হোম" অবস্থানের সাথে যুক্ত থাকে। ব্যবহারকারীরা তাদের "বাড়ি" অবস্থানের বাইরে ভ্রমণ করলেও RSN-এ সামগ্রী দেখতে পারেন৷
তৃতীয় পক্ষের সদস্যতা
তৃতীয় পক্ষের সদস্যতা
বিষয়বস্তু একটি ভিন্ন পরিষেবা থেকে গ্রাহকদের জন্য উপলব্ধ.
{ "actionAccessibilityRequirement": { "@type": "ActionAccessSpecification", "category": "externalsubscription" "availabilityStarts": "2015-01-01T00:00Z", "availabilityEnds": "2015-12-31T00:00Z", "requiresSubscription":{ "@type": "MediaSubscription", "@id": "https://www.example.com/faq", "name": "Example", "sameAs": "https://www.example.com/faq", "authenticator": { "@type": "Organization", "name": "TVE" } }, "eligibleRegion": { "@type": "Country", "name": "US" } } }
- একটি ভিন্ন পরিষেবা গ্রাহকদের প্রমাণীকরণ করে তা নির্দেশ করতে
authenticator
যোগ করুন। উদাহরণস্বরূপ, HBO GO-এর জন্য কেবল প্রদানকারীর কাছ থেকে একটি সাবস্ক্রিপশন প্রয়োজন।
সাধারণ স্তর প্যাকেজ
সাধারণ স্তরের বিষয়বস্তু তাদের সদস্যতা প্যাকেজ নির্বিশেষে সকল গ্রাহকদের জন্য উপলব্ধ। সাধারণ স্তরটি subscription
category
সহ সমস্ত সামগ্রীতে প্রযোজ্য। category
সম্পত্তি সম্পর্কে আরও তথ্যের জন্য, পেওয়াল টাইপ বিভাগটি দেখুন।
কেন একটি সাধারণ স্তর প্যাকেজ প্রয়োজন?
একাধিক Google পণ্য ব্যবহারকারীদের টিভি এবং চলচ্চিত্র সুপারিশ প্রদান করে; এর মধ্যে রয়েছে Google অনুসন্ধান, Android TV, এবং Google Assistant। খরচ সম্পর্কে ব্যবহারকারীর প্রত্যাশা সেট করতে, Google-কে অবশ্যই বুঝতে হবে যে সাধারণ স্তর ব্যবহার করে সমস্ত গ্রাহকদের কাছে কোন সামগ্রী উপলব্ধ। নির্দিষ্ট সাবস্ক্রিপশন প্যাকেজ সহ সাবস্ক্রাইবারদের কাছে কোন বিষয়বস্তু উপলব্ধ তাও Google বুঝতে হবে।
আপনি এনটাইটেলমেন্ট API সমর্থন না করলে Google সাধারণ স্তরে উপলভ্য শিরোনামগুলির সুপারিশ করে৷ API প্রতিটি নির্দিষ্ট ব্যবহারকারী অ্যাক্সেস করতে পারে এমন অ-সাধারণ-স্তরের শিরোনাম Google-কে বুঝতে দেয়।
আমি কখন একটি সাধারণ স্তর প্যাকেজ তৈরি করব?
একটি সাধারণ স্তর প্যাকেজ প্রয়োজন যখন আপনার পরিষেবা সমস্ত গ্রাহকদের জন্য উপলব্ধ সামগ্রী অফার করে৷ এর মধ্যে এমন পরিষেবা রয়েছে যা শুধুমাত্র একটি প্যাকেজ অফার করে এবং একাধিক প্যাকেজ বা অ্যাড-অন অফার করে এমন পরিষেবাগুলি অন্তর্ভুক্ত করে৷
সমস্ত গ্রাহকদের জন্য উপলব্ধ কোন সামগ্রী নেই এমন সরবরাহকারীদের একটি সাধারণ স্তরের প্যাকেজ তৈরি করতে হবে না। একটি উদাহরণ হল পরিষেবা প্রদানকারী যারা তাদের সমস্ত প্যাকেজ জুড়ে পারস্পরিক একচেটিয়া সামগ্রী প্রদান করে।
সাধারণ স্তরের উদাহরণ
নিম্নলিখিত সাধারণ স্তর উদাহরণ.
টায়ার্ড সাবস্ক্রিপশন
একটি টায়ার্ড সাবস্ক্রিপশন মডেলে, একটি পরিষেবা প্রদানকারীর একাধিক সাবস্ক্রিপশন স্তর রয়েছে, যেমন গোল্ড , সিলভার , এবং ব্রোঞ্জ টিয়ার৷ উচ্চ-স্তরের সাবস্ক্রিপশন সহ ব্যবহারকারীদের নিম্ন স্তরের সমস্ত সামগ্রীতে অ্যাক্সেস রয়েছে। নিম্ন-স্তরের সদস্যতা সহ ব্যবহারকারীদের উপরের স্তরের সামগ্রীতে অ্যাক্সেস নেই। নিম্নলিখিত চিত্রটি প্যাকেজ কাঠামোর একটি উদাহরণ।
![সোনার স্তরে রৌপ্য স্তরের সমস্ত বিষয়বস্তু থাকে, যা নিজেই ব্রোঞ্জ স্তরের সমস্ত ধারণ করে।](https://google-developers.gonglchuangl.net/static/actions/media/images/tieredsub.png?authuser=1&hl=bn)
নিম্নলিখিত কোড উদাহরণে, ব্রোঞ্জ প্যাকেজটি সাধারণ স্তর কারণ সমস্ত ব্যবহারকারীর সেই স্তরের সমস্ত সামগ্রীতে অ্যাক্সেস রয়েছে৷
"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 চ্যানেলের যেকোনো সমন্বয় যোগ করতে বেছে নিতে পারে।](https://google-developers.gonglchuangl.net/static/actions/media/images/addonssub.png?authuser=1&hl=bn)
যদি আপনার কাছে সমস্ত ব্যবহারকারীদের জন্য উপলব্ধ একটি চ্যানেল থাকে এবং চ্যানেলের জন্য কোন খরচ নেই, তাহলে আপনি প্যাকেজটিকে সাধারণ স্তরের প্যাকেজের সাথে একত্রিত করতে পারেন।
নিম্নলিখিত কোড উদাহরণে, মৌলিক প্যাকেজটি সাধারণ স্তর কারণ সমস্ত ব্যবহারকারীর এই প্যাকেজের সমস্ত সামগ্রীতে অ্যাক্সেস রয়েছে।
"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 এর মধ্যে ওভারল্যাপকে 'কমন টিয়ার' লেবেল করা হয়েছে।](https://google-developers.gonglchuangl.net/static/actions/media/images/intersect.png?authuser=1&hl=bn)
নিম্নলিখিত কোড উদাহরণে, প্রদানকারী তিনটি প্যাকেজ অফার করে যেখানে কিছু বিষয়বস্তু সমস্ত প্যাকেজ জুড়ে ছেদ করে। এই ক্ষেত্রে, সাধারণ স্তরের প্রতিনিধিত্ব করে এমন একটি চতুর্থ প্যাকেজ প্রয়োজন। এটি অবশ্যই তিনটি প্যাকেজ জুড়ে উপলব্ধ সমস্ত সামগ্রী অন্তর্ভুক্ত করবে।
"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 সম্পূর্ণ আলাদা।](https://google-developers.gonglchuangl.net/static/actions/media/images/nointersect.png?authuser=1&hl=bn)
নিম্নলিখিত উদাহরণে, প্রদানকারী তিনটি প্যাকেজ অফার করে যেখানে সমস্ত প্যাকেজের মধ্যে কোন বিষয়বস্তু ছেদ করা হয় না। কোন সাধারণ স্তর প্যাকেজ প্রয়োজন নেই.
"requiresSubscription": [ { "@type": "MediaSubscription", "@id": "https://www.example.com/package/1", "name": "Package 1", "sameAs": "https://www.example.com/package/1", "identifier": "example.com:package1", "commonTier": false }, { "@type": "MediaSubscription", "@id": "https://www.example.com/package/2", "name": "Package 2", "sameAs": "https://www.example.com/package/2", "identifier": "example.com:package2", "commonTier": false }, { "@type": "MediaSubscription", "@id": "https://www.example.com/package/3", "name": "Package 3", "sameAs": "https://www.example.com/package/3", "identifier": "example.com:package3", "commonTier": false } ],
এনটাইটেলমেন্ট এন্ডপয়েন্ট
একটি HTTPS এন্ডপয়েন্ট হোস্ট করতে এই বিভাগ থেকে তথ্য ব্যবহার করুন যা ব্যবহারকারীর সাথে যুক্ত এনটাইটেলমেন্ট ফেরত দেয়।
পূর্বশর্ত
আপনি শুরু করার আগে, যাচাই করুন যে আপনার পরিষেবা 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 প্রতি ছয় ঘন্টা পর্যন্ত একজন ব্যবহারকারীর এনটাইটেলমেন্টের তথ্য রিফ্রেশ করে। প্রতি সেকেন্ডে (QPS) সর্বাধিক প্রশ্নগুলিকে মসৃণ করতে, Google সময়ের সাথে সাথে আপনার এন্ডপয়েন্টে সমানভাবে প্রশ্নগুলি বিতরণ করে। এইভাবে, আপনি নিম্নলিখিত সূত্রের সাহায্যে আপনার শেষ পয়েন্টের জন্য প্রত্যাশিত গড় QPS অনুমান করতে পারেন:
প্রত্যাশিত গড় QPS = <মোট ব্যবহারকারীর সংখ্যা> / 21,600 সেকেন্ড (6 ঘন্টা x 60 মিনিট x 60 সেকেন্ড)
আপনি যদি বিপুল সংখ্যক ব্যবহারকারীকে সমর্থন করেন তবে Google 6-ঘন্টার ব্যবধান সামঞ্জস্য করতে পারে। প্রয়োজনে, কনফিগারেশন নিয়ে আলোচনা করতে Google-এর সাথে যোগাযোগ করুন।
Google এর সাথে যোগাযোগ করুন
আপনার এন্ডপয়েন্ট প্রস্তুত হলে, এন্ডপয়েন্টের URL জানাতে Google-এর সাথে যোগাযোগ করুন।
অ্যাকশন অ্যাক্সেস স্পেসিফিকেশন বৈশিষ্ট্য
রেফারেন্স তথ্যের জন্য অ্যাকশন অ্যাক্সেস স্পেসিফিকেশন বৈশিষ্ট্য বিভাগটি দেখুন।