REST Resource: monetization.subscriptions.basePlans.offers

منبع: پیشنهاد اشتراک

یک پیشنهاد تکی و موقت

نمایش JSON
{
  "packageName": string,
  "productId": string,
  "basePlanId": string,
  "offerId": string,
  "state": enum (State),
  "phases": [
    {
      object (SubscriptionOfferPhase)
    }
  ],
  "targeting": {
    object (SubscriptionOfferTargeting)
  },
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferConfig)
  },
  "offerTags": [
    {
      object (OfferTag)
    }
  ]
}
فیلدها
packageName

string

الزامی. تغییرناپذیر. نام بسته‌ی برنامه‌ای که اشتراک والد به آن تعلق دارد.

productId

string

الزامی. تغییرناپذیر. شناسه اشتراک والد که این پیشنهاد به آن تعلق دارد.

basePlanId

string

الزامی. تغییرناپذیر. شناسه طرح پایه‌ای که این پیشنهاد به آن اضافه شده است.

offerId

string

الزامی. تغییرناپذیر. شناسه منحصر به فرد این پیشنهاد اشتراک. باید در طرح پایه منحصر به فرد باشد.

state

enum ( State )

فقط خروجی. وضعیت فعلی این پیشنهاد. با استفاده از اقدامات فعال‌سازی و غیرفعال‌سازی قابل تغییر است. توجه: وضعیت طرح پایه جایگزین این وضعیت می‌شود، بنابراین اگر طرح پایه فعال نباشد، ممکن است پیشنهاد فعال در دسترس نباشد.

phases[]

object ( SubscriptionOfferPhase )

الزامی. مراحل این پیشنهاد اشتراک. باید حداقل شامل یک و حداکثر دو ورودی باشد. کاربران همیشه تمام این مراحل را به ترتیب مشخص شده دریافت خواهند کرد.

targeting

object ( SubscriptionOfferTargeting )

الزاماتی که کاربران برای واجد شرایط بودن برای این پیشنهاد باید داشته باشند. نشان‌دهنده الزاماتی است که Play برای تصمیم‌گیری در مورد بازگرداندن یک پیشنهاد ارزیابی خواهد کرد. توسعه‌دهندگان ممکن است خودشان این پیشنهادها را فیلتر کنند.

regionalConfigs[]

object ( RegionalSubscriptionOfferConfig )

الزامی. پیکربندی مختص منطقه این پیشنهاد. باید حداقل شامل یک ورودی باشد.

otherRegionsConfig

object ( OtherRegionsSubscriptionOfferConfig )

پیکربندی هر مکان جدید Play ممکن است در آینده راه‌اندازی شود.

offerTags[]

object ( OfferTag )

فهرستی از حداکثر ۲۰ برچسب سفارشی که برای این پیشنهاد مشخص شده و از طریق کتابخانه صورتحساب به برنامه بازگردانده شده است.

ایالت

وضعیت فعلی پیشنهاد اشتراک.

انوم‌ها
STATE_UNSPECIFIED مقدار پیش‌فرض، هرگز نباید استفاده شود.
DRAFT پیشنهاد اشتراک برای کاربران در دسترس نیست و هرگز نبوده است.
ACTIVE پیشنهاد اشتراک برای کاربران جدید و فعلی در دسترس است.
INACTIVE پیشنهاد اشتراک برای کاربران جدید در دسترس نیست. کاربران فعلی همچنان به آن دسترسی دارند.

مرحله پیشنهاد اشتراک

یک مرحله از پیشنهاد اشتراک.

نمایش JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
فیلدها
recurrenceCount

integer

الزامی. تعداد دفعات تکرار این مرحله. اگر این مرحله پیشنهاد رایگان نباشد، در هر تکرار، هزینه این مرحله پیشنهاد از کاربر دریافت می‌شود.

duration

string

الزامی. مدت زمان تکرار این مرحله. در قالب ISO 8601 مشخص شده است.

regionalConfigs[]

object ( RegionalSubscriptionOfferPhaseConfig )

الزامی. پیکربندی مختص منطقه در این مرحله از پیشنهاد. این لیست باید دقیقاً شامل یک ورودی برای هر منطقه‌ای باشد که پیشنهاد اشتراک برای آن پیکربندی منطقه‌ای دارد.

otherRegionsConfig

object ( OtherRegionsSubscriptionOfferPhaseConfig )

اطلاعات قیمت‌گذاری برای هر مکان جدیدی که ممکن است Play در آن راه‌اندازی شود.

پیکربندی مرحله اشتراک منطقه‌ای

پیکربندی برای یک مرحله از پیشنهاد اشتراک در یک منطقه واحد.

نمایش JSON
{
  "regionCode": string,

  // Union field price_override can be only one of the following:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
فیلدها
regionCode

string

الزامی. تغییرناپذیر. منطقه‌ای که این پیکربندی به آن اعمال می‌شود.

فیلد اتحادیه price_override . لغو قیمت این مرحله. الزامی. price_override فقط می‌تواند یکی از موارد زیر باشد:
price

object ( Money )

قیمت قطعی که کاربر برای این مرحله از پیشنهاد پرداخت می‌کند. این قیمت نباید کمتر از حداقل قیمت مجاز برای این منطقه باشد.

relativeDiscount

number

کسری از قیمت طرح پایه که نسبت به مدت زمان فازی که کاربر برای این فاز پیشنهاد پرداخت می‌کند، تقسیم می‌شود. برای مثال، اگر قیمت طرح پایه برای این منطقه ۱۲ دلار برای مدت ۱ سال باشد، تخفیف ۵۰٪ برای فازی با مدت ۳ ماه معادل قیمت ۱.۵۰ دلار خواهد بود. تخفیف باید به صورت کسری مشخص شود که کاملاً بزرگتر از ۰ و کاملاً کوچکتر از ۱ باشد. قیمت حاصل به نزدیکترین واحد قابل پرداخت (مثلاً سنت برای دلار آمریکا) گرد می‌شود. اگر قیمت تخفیف خورده در نهایت کمتر از حداقل قیمت مجاز در این منطقه باشد، تخفیف نسبی نامعتبر تلقی می‌شود.

absoluteDiscount

object ( Money )

مبلغ مطلق پولی که از قیمت پایه طرح کسر می‌شود و نسبت آن به مدت زمانی که کاربر برای این مرحله پیشنهاد پرداخت می‌کند، محاسبه می‌شود. برای مثال، اگر قیمت پایه طرح برای این منطقه برای مدت ۱ سال ۱۲ دلار باشد، تخفیف مطلق ۱ دلاری برای یک مرحله به مدت ۳ ماه معادل قیمت ۲ دلار خواهد بود. قیمت حاصل نمی‌تواند کمتر از حداقل قیمت مجاز برای این منطقه باشد.

free

object ( RegionalSubscriptionOfferPhaseFreePriceOverride )

تنظیم کنید تا مشخص شود که این پیشنهاد رایگان است.

پیشنهاد اشتراک منطقه‌ایمرحله رایگانقیمت لغو

این نوع هیچ فیلدی ندارد.

نشان‌دهنده پیکربندی لغو قیمت رایگان برای یک مرحله از پیشنهاد اشتراک است.

سایر مناطق، اشتراک، پیشنهاد، فاز، پیکربندی

پیکربندی برای هر مکان جدید، بازی ممکن است برای یک مرحله پیشنهاد واحد راه‌اندازی شود.

نمایش JSON
{

  // Union field price_override can be only one of the following:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
فیلدها
فیلد اتحادیه price_override . لغو قیمت این مرحله. الزامی. price_override فقط می‌تواند یکی از موارد زیر باشد:
otherRegionsPrices

object ( OtherRegionsSubscriptionOfferPhasePrices )

قیمت قطعی که کاربر برای این مرحله از پیشنهاد پرداخت می‌کند. این قیمت نباید کمتر از حداقل قیمت مجاز برای مکان‌های جدیدی باشد که بازی ممکن است در آنها راه‌اندازی شود.

relativeDiscount

number

کسری از قیمت طرح پایه که نسبت به مدت زمان فازی که کاربر برای این فاز پیشنهاد پرداخت می‌کند، تقسیم می‌شود. برای مثال، اگر قیمت طرح پایه برای این منطقه ۱۲ دلار برای مدت ۱ سال باشد، تخفیف ۵۰٪ برای فازی با مدت ۳ ماه معادل قیمت ۱.۵۰ دلار خواهد بود. تخفیف باید به صورت کسری مشخص شود که کاملاً بزرگتر از ۰ و کاملاً کوچکتر از ۱ باشد. قیمت حاصل به نزدیکترین واحد قابل پرداخت (مثلاً سنت به دلار آمریکا) گرد می‌شود. اگر قیمت تخفیف خورده در نهایت کمتر از حداقل قیمت مجاز در هر مکان جدیدی باشد که بازی ممکن است در آن راه‌اندازی شود، تخفیف نسبی نامعتبر تلقی می‌شود.

absoluteDiscounts

object ( OtherRegionsSubscriptionOfferPhasePrices )

مبلغ مطلق پولی که از قیمت پایه طرح کسر می‌شود و نسبت آن به مدت زمانی که کاربر برای این مرحله پیشنهاد پرداخت می‌کند، محاسبه می‌شود. برای مثال، اگر قیمت پایه طرح برای این منطقه برای مدت ۱ سال ۱۲ دلار باشد، تخفیف مطلق ۱ دلاری برای یک مرحله به مدت ۳ ماه معادل قیمت ۲ دلار خواهد بود. قیمت حاصل نمی‌تواند کمتر از حداقل قیمت مجاز برای هر مکان جدیدی باشد که بازی ممکن است در آن راه‌اندازی شود.

free

object ( OtherRegionsSubscriptionOfferPhaseFreePriceOverride )

تنظیم کنید تا مشخص شود که این پیشنهاد رایگان است.

سایر مناطقاشتراکمرحله پیشنهادقیمت‌ها

اطلاعات قیمت‌گذاری برای هر مکان جدیدی که ممکن است Play در آن راه‌اندازی شود.

نمایش JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
فیلدها
usdPrice

object ( Money )

الزامی. قیمت به دلار آمریکا برای استفاده در مکان‌های جدید. بازی ممکن است در ... شروع شود.

eurPrice

object ( Money )

الزامی. قیمت به یورو برای استفاده در مکان‌های جدید. بازی ممکن است در ... شروع شود.

سایر مناطقپیشنهاد اشتراکمرحله رایگانقیمت لغو

این نوع هیچ فیلدی ندارد.

نشان‌دهنده پیکربندی لغو قیمت رایگان برای هر مکان جدیدی است که ممکن است Play برای یک مرحله پیشنهاد واحد راه‌اندازی شود.

هدف‌گیری پیشنهاد اشتراک

قانونی را که کاربر برای دریافت این پیشنهاد باید رعایت کند، تعریف می‌کند.

نمایش JSON
{

  // Union field rule can be only one of the following:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of list of possible types for union field rule.
}
فیلدها
rule فیلد اتحادیه. برای واجد شرایط بودن پیشنهاد تعیین شده توسط توسعه‌دهنده، این قانون را خالی بگذارید. rule فقط می‌تواند یکی از موارد زیر باشد:
acquisitionRule

object ( AcquisitionTargetingRule )

قانون هدف‌گذاری پیشنهاد برای جذب کاربر جدید.

upgradeRule

object ( UpgradeTargetingRule )

قانون هدف‌گذاری برای ارتقای طرح‌های موجود کاربران ارائه دهید.

قانون هدف‌گیری اکتساب

نشان دهنده یک قانون هدف گیری فرم است: کاربر قبلاً هرگز {scope} نداشته است.

نمایش JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
فیلدها
scope

object ( TargetingRuleScope )

الزامی. دامنه اشتراک‌هایی که این قانون در نظر می‌گیرد. فقط «این اشتراک» و «هر اشتراکی در برنامه» مجاز است.

محدوده هدف‌گیری

دامنه اشتراک‌هایی را تعریف می‌کند که یک قانون هدف‌گذاری می‌تواند با پیشنهادات هدف به کاربران بر اساس حق عضویت گذشته یا فعلی مطابقت دهد.

نمایش JSON
{

  // Union field scope can be only one of the following:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of list of possible types for union field scope.
}
فیلدها

scope فیلد اتحادیه.

scope می‌تواند فقط یکی از موارد زیر باشد:

thisSubscription

object ( TargetingRuleScopeThisSubscription )

دامنه قانون هدف‌گذاری فعلی، اشتراکی است که این پیشنهاد در آن تعریف شده است.

anySubscriptionInApp

object ( TargetingRuleScopeAnySubscriptionInApp )

دامنه قانون هدف‌گذاری فعلی، هرگونه اشتراک در برنامه مادر است.

specificSubscriptionInApp

string

محدوده‌ی قانون هدف‌گیری فعلی، اشتراک با شناسه‌ی اشتراک مشخص‌شده است. باید اشتراکی در همان برنامه‌ی والد باشد.

هدف‌گیریقاعدهدامنهایناشتراک

این نوع هیچ فیلدی ندارد.

نشان‌دهنده‌ی محدوده‌ی قانون هدف‌گذاری مربوط به اشتراک‌هایی است که این پیشنهاد در آن‌ها تعریف شده است.

هدف‌گیریقاعدهدامنههرگونه اشتراکدربرنامه

این نوع هیچ فیلدی ندارد.

نشان‌دهنده‌ی محدوده‌ی قانون هدف‌گیری مربوط به هر اشتراک در برنامه‌ی والد است.

قانون هدف‌گذاری ارتقا

نشان دهنده یک قانون هدف گذاری فرم است: کاربر در حال حاضر {scope} [با دوره صورتحساب {billing_period}] دارد.

نمایش JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
فیلدها
oncePerUser

boolean

این پیشنهاد را فقط به یک بار برای هر کاربر محدود کنید. اگر روی درست تنظیم شود، اگر کاربری قبلاً در این پیشنهاد مشترک شده باشد، دیگر هرگز واجد شرایط دریافت این پیشنهاد نخواهد بود.

scope

object ( TargetingRuleScope )

الزامی. دامنه اشتراک‌هایی که این قانون در نظر می‌گیرد. فقط «این اشتراک» و «اشتراک خاص در برنامه» مجاز است.

billingPeriodDuration

string

مدت زمان خاص دوره صورتحساب، که در قالب ISO 8601 مشخص شده است، و کاربر باید در حال حاضر در آن مشترک باشد تا واجد شرایط این قانون باشد. در صورت عدم مشخص شدن، کاربرانی که در هر دوره صورتحساب مشترک شده‌اند، مطابقت داده می‌شوند.

پیکربندی پیشنهاد اشتراک منطقه‌ای

پیکربندی برای پیشنهاد اشتراک در یک منطقه واحد.

نمایش JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
فیلدها
regionCode

string

الزامی. تغییرناپذیر. کد منطقه‌ای که این پیکربندی برای آن اعمال می‌شود، طبق تعریف ISO 3166-2، مثلاً "US".

newSubscriberAvailability

boolean

آیا پیشنهاد اشتراک در منطقه مشخص شده برای مشترکین جدید در دسترس است یا خیر. اگر این مقدار روی false تنظیم شود، اشتراک مشترکین فعلی لغو نخواهد شد. اگر مشخص نشود، به طور پیش‌فرض روی false تنظیم می‌شود.

پیکربندی پیشنهاد اشتراک سایر مناطق

پیکربندی برای هر مکان جدید، بازی ممکن است در پیشنهاد اشتراک مشخص شده شروع شود.

نمایش JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
فیلدها
otherRegionsNewSubscriberAvailability

boolean

اینکه آیا پیشنهاد اشتراک در مکان‌های جدید Play ممکن است در آینده راه‌اندازی شود یا خیر. اگر مشخص نشود، این مقدار به طور پیش‌فرض false خواهد بود.

روش‌ها

activate

پیشنهاد اشتراک را فعال می‌کند.

batchGet

یک یا چند پیشنهاد اشتراک را می‌خواند.

batchUpdate

مجموعه‌ای از پیشنهادهای اشتراک را به‌روزرسانی می‌کند.

batchUpdateStates

مجموعه‌ای از حالت‌های پیشنهاد اشتراک را به‌روزرسانی می‌کند.

create

یک پیشنهاد اشتراک جدید ایجاد می‌کند.

deactivate

پیشنهاد اشتراک را غیرفعال می‌کند.

delete

پیشنهاد اشتراک را حذف می‌کند.

get

یک پیشنهاد واحد را می‌خواند

list

تمام پیشنهادات مربوط به یک اشتراک خاص را فهرست می‌کند.

patch

یک پیشنهاد اشتراک موجود را به‌روزرسانی می‌کند.

کدهای خطا

عملیات این منبع، کدهای خطای HTTP زیر را برمی‌گرداند:

کد خطا دلیل توضیحات وضوح تصویر
400 invalidValue مقدار نامعتبری در درخواست ارائه شده است. این اغلب به عنوان یک توکن خرید ناقص یا نامعتبر برگردانده می‌شود. مقدار فیلد نامعتبر را در بدنه درخواست یا پارامترها بر اساس مرجع API اصلاح کنید.
400 required یک فیلد یا پارامتر الزامی در درخواست وجود ندارد. برای اطمینان از وجود تمام فیلدها و پارامترهای اجباری، به مستندات API مراجعه کنید.
403 userInsufficientPermission کاربر مجوز کافی برای انجام عملیات درخواستی را ندارد. مطمئن شوید که کاربر احراز هویت شده مجوزهای لازم را در کنسول گوگل پلی دارد. برای جزئیات بیشتر به بخش «استفاده از حساب کاربری سرویس» مراجعه کنید.
404 notFound منبع مورد نظر یافت نشد. تأیید کنید که شناسه‌ها (مثلاً توکن خرید، نام بسته، شناسه محصول، شناسه اشتراک) صحیح باشند.
409 concurrentUpdate تلاشی برای به‌روزرسانی شیء‌ای که به‌طور همزمان به‌روزرسانی می‌شود، صورت گرفته است. درخواست را با backoff نمایی دوباره امتحان کنید. از تغییرات همزمان در همان منبع خودداری کنید.
5xx Generic error خطای عمومی در سرور گوگل پلی. درخواست خود را دوباره امتحان کنید.

اگر مشکل همچنان ادامه داشت، با مدیر حساب Google Play خود تماس بگیرید یا درخواست پشتیبانی ارسال کنید. داشبورد وضعیت Play را برای هرگونه قطعی شناخته شده بررسی کنید.