- উৎস: সাবস্ক্রিপশন অফার
- রাজ্য
- সাবস্ক্রিপশন অফার পর্যায়
- আঞ্চলিক সাবস্ক্রিপশন অফার ফেজ কনফিগারেশন
- আঞ্চলিক সাবস্ক্রিপশন অফার পর্যায় বিনামূল্যে মূল্য ওভাররাইড
- অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার ফেজ কনফিগারেশন
- অন্যান্য অঞ্চলের সাবস্ক্রিপশন অফার পর্বের মূল্য
- অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার পর্যায় বিনামূল্যে মূল্য ওভাররাইড
- সাবস্ক্রিপশন অফার টার্গেটিং
- অধিগ্রহণ লক্ষ্য নির্ধারণ নিয়ম
- টার্গেটিংরুলস্কোপ
- টার্গেটিংরুলস্কোপএইসাবস্ক্রিপশন
- TargetingRuleScopeAnySubscriptionInApp
- আপগ্রেড টার্গেটিং নিয়ম
- আঞ্চলিক সাবস্ক্রিপশন অফার কনফিগারেশন
- অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার কনফিগারেশন
- পদ্ধতি
উৎস: সাবস্ক্রিপশন অফার
একটি একক, অস্থায়ী অফার
| JSON উপস্থাপনা |
|---|
{ "packageName": string, "productId": string, "basePlanId": string, "offerId": string, "state": enum ( |
| ক্ষেত্র | |
|---|---|
packageName | আবশ্যক। অপরিবর্তনীয়। যে অ্যাপের প্যারেন্ট সাবস্ক্রিপশনটি রয়েছে, তার প্যাকেজ নাম। |
productId | আবশ্যক। অপরিবর্তনীয়। এই অফারটি যে মূল সাবস্ক্রিপশনের অন্তর্গত, তার আইডি। |
basePlanId | আবশ্যক। অপরিবর্তনীয়। মূল প্ল্যানের আইডি, যার বর্ধিত অংশ হিসেবে এই অফারটি দেওয়া হচ্ছে। |
offerId | আবশ্যক। অপরিবর্তনীয়। এই সাবস্ক্রিপশন অফারের অনন্য আইডি। বেস প্ল্যানের মধ্যে অবশ্যই অনন্য হতে হবে। |
state | শুধুমাত্র আউটপুট। এই অফারটির বর্তমান অবস্থা। অ্যাক্টিভেট এবং ডিঅ্যাক্টিভেট অ্যাকশন ব্যবহার করে এটি পরিবর্তন করা যায়। দ্রষ্টব্য: বেস প্ল্যানের অবস্থা এই অবস্থাকে বাতিল করে দেয়, তাই বেস প্ল্যান সক্রিয় না থাকলে কোনো সক্রিয় অফার উপলব্ধ নাও হতে পারে। |
phases[] | আবশ্যক। এই সাবস্ক্রিপশন অফারের পর্যায়গুলো। এতে অবশ্যই কমপক্ষে একটি এবং সর্বাধিক দুটি এন্ট্রি থাকতে হবে। ব্যবহারকারীরা সর্বদা এই সমস্ত পর্যায় নির্দিষ্ট ক্রমেই পাবেন। |
targeting | এই অফারটির জন্য যোগ্য হতে ব্যবহারকারীদের যে শর্তাবলী পূরণ করতে হবে। এটি সেই শর্তাবলীকে বোঝায় যা প্লে (Play) কোনো অফার পুনরায় চালু করা হবে কিনা তা সিদ্ধান্ত নিতে মূল্যায়ন করবে। ডেভেলপাররা নিজেরাও এই অফারগুলোকে আরও ফিল্টার করতে পারেন। |
regionalConfigs[] | আবশ্যক। এই অফারের অঞ্চল-ভিত্তিক কনফিগারেশন। এতে অবশ্যই কমপক্ষে একটি এন্ট্রি থাকতে হবে। |
otherRegionsConfig | ভবিষ্যতে প্লে যে কোনো নতুন লোকেশনে চালু হতে পারে, তার জন্য কনফিগারেশন। |
offerTags[] | এই অফারের জন্য নির্দিষ্ট করা সর্বোচ্চ ২০টি কাস্টম ট্যাগের তালিকা, যা বিলিং লাইব্রেরির মাধ্যমে অ্যাপে ফেরত পাঠানো হয়। |
রাজ্য
সাবস্ক্রিপশন অফারটির বর্তমান অবস্থা।
| এনাম | |
|---|---|
STATE_UNSPECIFIED | ডিফল্ট মান, এটি কখনোই ব্যবহার করা উচিত নয়। |
DRAFT | সাবস্ক্রিপশন অফারটি ব্যবহারকারীদের জন্য উপলব্ধ নয় এবং কখনও ছিলও না। |
ACTIVE | সাবস্ক্রিপশন অফারটি নতুন এবং পুরাতন উভয় ব্যবহারকারীর জন্যই প্রযোজ্য। |
INACTIVE | নতুন ব্যবহারকারীদের জন্য সাবস্ক্রিপশন অফারটি প্রযোজ্য নয়। বিদ্যমান ব্যবহারকারীরা তাদের অ্যাক্সেস বজায় রাখবেন। |
সাবস্ক্রিপশন অফার পর্যায়
সাবস্ক্রিপশন অফারের একটি পর্যায়।
| JSON উপস্থাপনা |
|---|
{ "recurrenceCount": integer, "duration": string, "regionalConfigs": [ { object ( |
| ক্ষেত্র | |
|---|---|
recurrenceCount | আবশ্যক। এই পর্যায়টি যতবার পুনরাবৃত্তি হবে। যদি এই অফার পর্যায়টি বিনামূল্যে না হয়, তবে প্রতিটি পুনরাবৃত্তির জন্য ব্যবহারকারীকে এই অফার পর্যায়ের মূল্য পরিশোধ করতে হবে। |
duration | আবশ্যক। এই পর্যায়ের একটি পুনরাবৃত্তির সময়কাল। ISO 8601 ফরম্যাটে নির্দিষ্টকৃত। |
regionalConfigs[] | আবশ্যক। এই অফার পর্বের অঞ্চল-ভিত্তিক কনফিগারেশন। যে সকল অঞ্চলের জন্য সাবস্ক্রিপশন অফারটির আঞ্চলিক কনফিগারেশন রয়েছে, সেই সকল অঞ্চলের জন্য এই তালিকায় ঠিক একটি এন্ট্রি থাকতে হবে। |
otherRegionsConfig | Play ভবিষ্যতে চালু হতে পারে এমন যেকোনো নতুন স্থানের মূল্য সংক্রান্ত তথ্য। |
আঞ্চলিক সাবস্ক্রিপশন অফার ফেজ কনফিগারেশন
একটি নির্দিষ্ট অঞ্চলে সাবস্ক্রিপশন অফারের একটি পর্যায়ের কনফিগারেশন।
| JSON উপস্থাপনা |
|---|
{ "regionCode": string, // Union field |
| ক্ষেত্র | |
|---|---|
regionCode | আবশ্যক। অপরিবর্তনীয়। যে অঞ্চলের জন্য এই কনফিগারেশনটি প্রযোজ্য। |
ইউনিয়ন ফিল্ড price_override । এই পর্যায়ের মূল্য পরিবর্তন। আবশ্যক। price_override নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
price | এই অফার পর্বের জন্য ব্যবহারকারীকে যে চূড়ান্ত মূল্য পরিশোধ করতে হবে। এই মূল্য অবশ্যই এই অঞ্চলের জন্য অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে কম হবে না। |
relativeDiscount | এই অফার পর্বের জন্য ব্যবহারকারী বেস প্ল্যানের মূল্যের যে অংশটি পর্বের সময়কালের উপর আনুপাতিক হারে পরিশোধ করেন। উদাহরণস্বরূপ, যদি এই অঞ্চলের জন্য বেস প্ল্যানের মূল্য ১ বছরের জন্য $১২ হয়, তাহলে ৩ মাসের একটি পর্বের জন্য ৫০% ছাড়ের মূল্য হবে $১.৫০। ছাড়ের পরিমাণ অবশ্যই ০-এর চেয়ে কঠোরভাবে বড় এবং ১-এর চেয়ে কঠোরভাবে ছোট একটি ভগ্নাংশ হিসাবে উল্লেখ করতে হবে। চূড়ান্ত মূল্য নিকটতম বিলযোগ্য এককে (যেমন USD-এর জন্য সেন্ট) রাউন্ড করা হবে। যদি ছাড়ের পরের মূল্য এই অঞ্চলে অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে কম হয়, তাহলে আপেক্ষিক ছাড়টি অবৈধ বলে বিবেচিত হবে। |
absoluteDiscount | এই অফার পর্বের জন্য ব্যবহারকারী যে অর্থ প্রদান করেন, তা হলো মূল প্ল্যানের মূল্য থেকে পর্বের সময়কাল অনুযায়ী আনুপাতিক হারে বাদ দেওয়া অর্থের নির্দিষ্ট পরিমাণ। উদাহরণস্বরূপ, যদি এই অঞ্চলের জন্য মূল প্ল্যানের মূল্য ১ বছরের জন্য ১২ ডলার হয়, তাহলে ৩ মাসের একটি পর্বের জন্য ১ ডলার নির্দিষ্ট ছাড়ের ফলে মূল্য দাঁড়াবে ২ ডলার। এর ফলে প্রাপ্ত মূল্য এই অঞ্চলের জন্য অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে কম হতে পারবে না। |
free | এই অফারটি বিনামূল্যে পাওয়া যাবে তা নির্দিষ্ট করে বলা হয়েছে। |
আঞ্চলিক সাবস্ক্রিপশন অফার পর্যায় বিনামূল্যে মূল্য ওভাররাইড
এই প্রকারে কোনো ক্ষেত্র নেই।
এটি একটি সাবস্ক্রিপশন অফারের কোনো একটি পর্যায়ের জন্য বিনামূল্যে মূল্য পরিবর্তনের কনফিগারেশনকে নির্দেশ করে।
অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার ফেজ কনফিগারেশন
যেকোনো নতুন অবস্থানের জন্য কনফিগারেশন, যেখানে প্লে একটি একক অফার পর্বের জন্য চালু হতে পারে।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড price_override । এই পর্যায়ের মূল্য পরিবর্তন। আবশ্যক। price_override নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
otherRegionsPrices | এই অফার পর্বের জন্য ব্যবহারকারীকে যে চূড়ান্ত মূল্য পরিশোধ করতে হবে। এই মূল্য অবশ্যই প্লে-এর নতুন কোনো লঞ্চের জন্য অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে কম হবে না। |
relativeDiscount | এই অফার পর্বের জন্য ব্যবহারকারী বেস প্ল্যানের মূল্যের যে অংশটি পর্বের সময়কালের উপর আনুপাতিক হারে পরিশোধ করেন। উদাহরণস্বরূপ, যদি এই অঞ্চলের জন্য বেস প্ল্যানের মূল্য ১ বছরের জন্য $১২ হয়, তাহলে ৩ মাসের একটি পর্বের জন্য ৫০% ছাড়ের মূল্য হবে $১.৫০। ছাড়ের পরিমাণ অবশ্যই ০-এর চেয়ে কঠোরভাবে বড় এবং ১-এর চেয়ে কঠোরভাবে ছোট একটি ভগ্নাংশ হিসাবে উল্লেখ করতে হবে। চূড়ান্ত মূল্য নিকটতম বিলযোগ্য এককে (যেমন USD-এর জন্য সেন্ট) রাউন্ড করা হবে। Play ভবিষ্যতে চালু হতে পারে এমন যেকোনো নতুন স্থানে যদি ছাড়ের পরের মূল্য অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে কম হয়, তাহলে এই আপেক্ষিক ছাড়টি অবৈধ বলে বিবেচিত হবে। |
absoluteDiscounts | এই অফার পর্বের জন্য ব্যবহারকারী যে অর্থ প্রদান করেন, তা হলো মূল প্ল্যানের মূল্য থেকে পর্বের সময়কাল অনুযায়ী আনুপাতিক হারে বাদ দেওয়া অর্থের পরিমাণ। উদাহরণস্বরূপ, যদি এই অঞ্চলের জন্য মূল প্ল্যানের মূল্য ১ বছরের জন্য $১২ হয়, তাহলে ৩ মাসের একটি পর্বের জন্য $১ ছাড়ের ফলে মূল্য দাঁড়াবে $২। প্লে ভবিষ্যতে চালু হতে পারে এমন যেকোনো নতুন স্থানের জন্য অনুমোদিত সর্বনিম্ন মূল্যের চেয়ে এই চূড়ান্ত মূল্য কম হতে পারবে না। |
free | এই অফারটি বিনামূল্যে পাওয়া যাবে তা নির্দিষ্ট করে বলা হয়েছে। |
অন্যান্য অঞ্চলের সাবস্ক্রিপশন অফার পর্বের মূল্য
Play ভবিষ্যতে চালু হতে পারে এমন যেকোনো নতুন স্থানের মূল্য সংক্রান্ত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "usdPrice": { object ( |
| ক্ষেত্র | |
|---|---|
usdPrice | আবশ্যক। প্লে ভবিষ্যতে চালু হতে পারে এমন যেকোনো নতুন স্থানে ব্যবহারের জন্য মূল্য মার্কিন ডলারে (USD)। |
eurPrice | আবশ্যক। প্লে চালু হতে পারে এমন যেকোনো নতুন স্থানে ব্যবহারের জন্য মূল্য ইউরোতে। |
অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার পর্যায় বিনামূল্যে মূল্য ওভাররাইড
এই প্রকারে কোনো ক্ষেত্র নেই।
এটি প্লে দ্বারা একটি একক অফার পর্বের জন্য চালু করা যেকোনো নতুন অবস্থানের জন্য বিনামূল্যের মূল্য ওভাররাইড কনফিগারেশনকে উপস্থাপন করে।
সাবস্ক্রিপশন অফার টার্গেটিং
এই অফারটি পাওয়ার জন্য একজন ব্যবহারকারীকে যে নিয়মটি পূরণ করতে হবে, তা এখানে সংজ্ঞায়িত করা হয়েছে।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ডের rule । ডেভেলপার-নির্ধারিত অফারের যোগ্যতার জন্য এটি খালি রাখুন। rule নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
acquisitionRule | নতুন ব্যবহারকারী অর্জনের জন্য অফার টার্গেটিং নিয়ম। |
upgradeRule | ব্যবহারকারীদের বিদ্যমান প্ল্যান আপগ্রেড করার জন্য অফার টার্গেটিং নিয়ম। |
অধিগ্রহণ লক্ষ্য নির্ধারণ নিয়ম
এটি এই ধরনের একটি টার্গেটিং নিয়মকে বোঝায়: ব্যবহারকারীর পূর্বে কখনও {scope} ছিল না।
| JSON উপস্থাপনা |
|---|
{
"scope": {
object ( |
| ক্ষেত্র | |
|---|---|
scope | আবশ্যক। এই নিয়মটি যে সাবস্ক্রিপশনগুলো বিবেচনা করে তার পরিধি। শুধুমাত্র 'এই সাবস্ক্রিপশন' এবং 'অ্যাপের যেকোনো সাবস্ক্রিপশন'-এর অনুমতি দেয়। |
টার্গেটিংরুলস্কোপ
অতীত বা বর্তমান প্রাপ্যতার উপর ভিত্তি করে ব্যবহারকারীদের কাছে অফার পৌঁছে দেওয়ার জন্য, একটি টার্গেটিং নিয়ম যে সাবস্ক্রিপশনগুলোর সাথে মেলাতে পারে, তা এটি নির্ধারণ করে।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ক্ষেত্রের | |
thisSubscription | বর্তমান টার্গেটিং নিয়মের আওতা হলো সেই সাবস্ক্রিপশন, যার মধ্যে এই অফারটি সংজ্ঞায়িত করা হয়েছে। |
anySubscriptionInApp | বর্তমান টার্গেটিং নিয়মটির আওতা হলো প্যারেন্ট অ্যাপের যেকোনো সাবস্ক্রিপশন। |
specificSubscriptionInApp | বর্তমান টার্গেটিং নিয়মের আওতা হলো নির্দিষ্ট সাবস্ক্রিপশন আইডিযুক্ত সাবস্ক্রিপশনটি। এটি অবশ্যই একই প্যারেন্ট অ্যাপের অন্তর্ভুক্ত একটি সাবস্ক্রিপশন হতে হবে। |
টার্গেটিংরুলস্কোপএইসাবস্ক্রিপশন
এই প্রকারে কোনো ক্ষেত্র নেই।
যেসব সাবস্ক্রিপশনে এই অফারটি সংজ্ঞায়িত করা হয়েছে, এটি সেগুলোর সাথে সম্পর্কিত টার্গেটিং নিয়মের পরিধিকে নির্দেশ করে।
TargetingRuleScopeAnySubscriptionInApp
এই প্রকারে কোনো ক্ষেত্র নেই।
এটি প্যারেন্ট অ্যাপের যেকোনো সাবস্ক্রিপশনের সাথে সম্পর্কিত টার্গেটিং রুল স্কোপকে নির্দেশ করে।
আপগ্রেড টার্গেটিং নিয়ম
এটি নিম্নোক্ত ধরনের একটি টার্গেটিং নিয়মকে বোঝায়: ব্যবহারকারীর বর্তমানে {scope} আছে [এবং বিলিং পিরিয়ড {billingPeriod}]।
| JSON উপস্থাপনা |
|---|
{
"oncePerUser": boolean,
"scope": {
object ( |
| ক্ষেত্র | |
|---|---|
oncePerUser | এই অফারটি প্রতি ব্যবহারকারীর জন্য শুধুমাত্র একবার সীমাবদ্ধ করুন। যদি এটি 'true' সেট করা হয়, তাহলে কোনো ব্যবহারকারী যদি আগে কখনও এই অফারটি সাবস্ক্রাইব করে থাকেন, তবে তিনি আর কখনও এটির জন্য যোগ্য হবেন না। |
scope | আবশ্যক। এই নিয়মটি যে সাবস্ক্রিপশনগুলো বিবেচনা করে তার পরিধি। শুধুমাত্র 'এই সাবস্ক্রিপশন' এবং 'অ্যাপের মধ্যে নির্দিষ্ট সাবস্ক্রিপশন'-এর অনুমতি দেয়। |
billingPeriodDuration | এই নিয়মের জন্য যোগ্য হতে হলে, একজন ব্যবহারকারীকে অবশ্যই ISO 8601 ফরম্যাটে নির্দিষ্ট বিলিং পিরিয়ডের মেয়াদে বর্তমানে সাবস্ক্রাইব করা থাকতে হবে। যদি তা নির্দিষ্ট করা না থাকে, তবে যেকোনো বিলিং পিরিয়ডে সাবস্ক্রাইব করা ব্যবহারকারীদেরও অন্তর্ভুক্ত করা হবে। |
আঞ্চলিক সাবস্ক্রিপশন অফার কনফিগারেশন
একটি নির্দিষ্ট অঞ্চলের জন্য সাবস্ক্রিপশন অফারের কনফিগারেশন।
| JSON উপস্থাপনা |
|---|
{ "regionCode": string, "newSubscriberAvailability": boolean } |
| ক্ষেত্র | |
|---|---|
regionCode | আবশ্যক। অপরিবর্তনীয়। এই কনফিগারেশনটি যে অঞ্চলের জন্য প্রযোজ্য, সেই অঞ্চলের কোড, যা ISO 3166-2 দ্বারা সংজ্ঞায়িত, যেমন "US"। |
newSubscriberAvailability | নির্দিষ্ট অঞ্চলে সাবস্ক্রিপশন অফারটি নতুন গ্রাহকদের জন্য উপলব্ধ কিনা। এই মানটি 'false' সেট করা হলে বিদ্যমান গ্রাহকদের সাবস্ক্রিপশন বাতিল করা হবে না। নির্দিষ্ট না করা হলে, এটি ডিফল্টরূপে 'false' হবে। |
অন্যান্য অঞ্চল সাবস্ক্রিপশন অফার কনফিগারেশন
সাবস্ক্রিপশন অফারে নির্দিষ্ট করা যেকোনো নতুন স্থানে প্লে চালু হওয়ার জন্য কনফিগারেশন।
| JSON উপস্থাপনা |
|---|
{ "otherRegionsNewSubscriberAvailability": boolean } |
| ক্ষেত্র | |
|---|---|
otherRegionsNewSubscriberAvailability | ভবিষ্যতে প্লে কোনো নতুন স্থানে সাবস্ক্রিপশন অফারটি চালু করবে কিনা। যদি নির্দিষ্ট করে না দেওয়া হয়, তবে এটি ডিফল্টরূপে 'ফলস' থাকবে। |
পদ্ধতি | |
|---|---|
| একটি সাবস্ক্রিপশন অফার সক্রিয় করে। |
| এক বা একাধিক সাবস্ক্রিপশন অফার পড়ে। |
| একগুচ্ছ সাবস্ক্রিপশন অফার আপডেট করে। |
| একগুচ্ছ সাবস্ক্রিপশন অফারের অবস্থা আপডেট করে। |
| একটি নতুন সাবস্ক্রিপশন অফার তৈরি করে। |
| একটি সাবস্ক্রিপশন অফার নিষ্ক্রিয় করে। |
| একটি সাবস্ক্রিপশন অফার মুছে দেয়। |
| একটি অফার পড়ে |
| একটি নির্দিষ্ট সাবস্ক্রিপশনের অধীনে থাকা সমস্ত অফার তালিকাভুক্ত করে। |
| বিদ্যমান সাবস্ক্রিপশন অফার আপডেট করে। |
ত্রুটি কোড
এই রিসোর্সের কার্যক্রম নিম্নলিখিত HTTP ত্রুটি কোডগুলি প্রদান করে:
| ত্রুটি কোড | কারণ | বর্ণনা | সমাধান |
|---|