- منبع: پیشنهاد اشتراک
- ایالت
- مرحله پیشنهاد اشتراک
- پیکربندی مرحله اشتراک منطقهای
- پیشنهاد اشتراک منطقهایمرحله رایگانقیمت لغو
- سایر مناطق، اشتراک، پیشنهاد، فاز، پیکربندی
- سایر مناطقاشتراکمرحله پیشنهادقیمتها
- سایر مناطقپیشنهاد اشتراکمرحله رایگانقیمت لغو
- هدفگیری پیشنهاد اشتراک
- قانون هدفگیری اکتساب
- محدوده هدفگیری
- هدفگیریقاعدهدامنهایناشتراک
- هدفگیریقاعدهدامنههرگونه اشتراکدربرنامه
- قانون هدفگذاری ارتقا
- پیکربندی پیشنهاد اشتراک منطقهای
- پیکربندی پیشنهاد اشتراک سایر مناطق
- روشها
منبع: پیشنهاد اشتراک
یک پیشنهاد تکی و موقت
| نمایش JSON |
|---|
{ "packageName": string, "productId": string, "basePlanId": string, "offerId": string, "state": enum ( |
| فیلدها | |
|---|---|
packageName | الزامی. تغییرناپذیر. نام بستهی برنامهای که اشتراک والد به آن تعلق دارد. |
productId | الزامی. تغییرناپذیر. شناسه اشتراک والد که این پیشنهاد به آن تعلق دارد. |
basePlanId | الزامی. تغییرناپذیر. شناسه طرح پایهای که این پیشنهاد به آن اضافه شده است. |
offerId | الزامی. تغییرناپذیر. شناسه منحصر به فرد این پیشنهاد اشتراک. باید در طرح پایه منحصر به فرد باشد. |
state | فقط خروجی. وضعیت فعلی این پیشنهاد. با استفاده از اقدامات فعالسازی و غیرفعالسازی قابل تغییر است. توجه: وضعیت طرح پایه جایگزین این وضعیت میشود، بنابراین اگر طرح پایه فعال نباشد، ممکن است پیشنهاد فعال در دسترس نباشد. |
phases[] | الزامی. مراحل این پیشنهاد اشتراک. باید حداقل شامل یک و حداکثر دو ورودی باشد. کاربران همیشه تمام این مراحل را به ترتیب مشخص شده دریافت خواهند کرد. |
targeting | الزاماتی که کاربران برای واجد شرایط بودن برای این پیشنهاد باید داشته باشند. نشاندهنده الزاماتی است که Play برای تصمیمگیری در مورد بازگرداندن یک پیشنهاد ارزیابی خواهد کرد. توسعهدهندگان ممکن است خودشان این پیشنهادها را فیلتر کنند. |
regionalConfigs[] | الزامی. پیکربندی مختص منطقه این پیشنهاد. باید حداقل شامل یک ورودی باشد. |
otherRegionsConfig | پیکربندی هر مکان جدید Play ممکن است در آینده راهاندازی شود. |
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 | کسری از قیمت طرح پایه که نسبت به مدت زمان فازی که کاربر برای این فاز پیشنهاد پرداخت میکند، تقسیم میشود. برای مثال، اگر قیمت طرح پایه برای این منطقه ۱۲ دلار برای مدت ۱ سال باشد، تخفیف ۵۰٪ برای فازی با مدت ۳ ماه معادل قیمت ۱.۵۰ دلار خواهد بود. تخفیف باید به صورت کسری مشخص شود که کاملاً بزرگتر از ۰ و کاملاً کوچکتر از ۱ باشد. قیمت حاصل به نزدیکترین واحد قابل پرداخت (مثلاً سنت برای دلار آمریکا) گرد میشود. اگر قیمت تخفیف خورده در نهایت کمتر از حداقل قیمت مجاز در این منطقه باشد، تخفیف نسبی نامعتبر تلقی میشود. |
absoluteDiscount | مبلغ مطلق پولی که از قیمت پایه طرح کسر میشود و نسبت آن به مدت زمانی که کاربر برای این مرحله پیشنهاد پرداخت میکند، محاسبه میشود. برای مثال، اگر قیمت پایه طرح برای این منطقه برای مدت ۱ سال ۱۲ دلار باشد، تخفیف مطلق ۱ دلاری برای یک مرحله به مدت ۳ ماه معادل قیمت ۲ دلار خواهد بود. قیمت حاصل نمیتواند کمتر از حداقل قیمت مجاز برای این منطقه باشد. |
free | تنظیم کنید تا مشخص شود که این پیشنهاد رایگان است. |
پیشنهاد اشتراک منطقهایمرحله رایگانقیمت لغو
این نوع هیچ فیلدی ندارد.
نشاندهنده پیکربندی لغو قیمت رایگان برای یک مرحله از پیشنهاد اشتراک است.
سایر مناطق، اشتراک، پیشنهاد، فاز، پیکربندی
پیکربندی برای هر مکان جدید، بازی ممکن است برای یک مرحله پیشنهاد واحد راهاندازی شود.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد اتحادیه price_override . لغو قیمت این مرحله. الزامی. price_override فقط میتواند یکی از موارد زیر باشد: | |
otherRegionsPrices | قیمت قطعی که کاربر برای این مرحله از پیشنهاد پرداخت میکند. این قیمت نباید کمتر از حداقل قیمت مجاز برای مکانهای جدیدی باشد که بازی ممکن است در آنها راهاندازی شود. |
relativeDiscount | کسری از قیمت طرح پایه که نسبت به مدت زمان فازی که کاربر برای این فاز پیشنهاد پرداخت میکند، تقسیم میشود. برای مثال، اگر قیمت طرح پایه برای این منطقه ۱۲ دلار برای مدت ۱ سال باشد، تخفیف ۵۰٪ برای فازی با مدت ۳ ماه معادل قیمت ۱.۵۰ دلار خواهد بود. تخفیف باید به صورت کسری مشخص شود که کاملاً بزرگتر از ۰ و کاملاً کوچکتر از ۱ باشد. قیمت حاصل به نزدیکترین واحد قابل پرداخت (مثلاً سنت به دلار آمریکا) گرد میشود. اگر قیمت تخفیف خورده در نهایت کمتر از حداقل قیمت مجاز در هر مکان جدیدی باشد که بازی ممکن است در آن راهاندازی شود، تخفیف نسبی نامعتبر تلقی میشود. |
absoluteDiscounts | مبلغ مطلق پولی که از قیمت پایه طرح کسر میشود و نسبت آن به مدت زمانی که کاربر برای این مرحله پیشنهاد پرداخت میکند، محاسبه میشود. برای مثال، اگر قیمت پایه طرح برای این منطقه برای مدت ۱ سال ۱۲ دلار باشد، تخفیف مطلق ۱ دلاری برای یک مرحله به مدت ۳ ماه معادل قیمت ۲ دلار خواهد بود. قیمت حاصل نمیتواند کمتر از حداقل قیمت مجاز برای هر مکان جدیدی باشد که بازی ممکن است در آن راهاندازی شود. |
free | تنظیم کنید تا مشخص شود که این پیشنهاد رایگان است. |
سایر مناطقاشتراکمرحله پیشنهادقیمتها
اطلاعات قیمتگذاری برای هر مکان جدیدی که ممکن است Play در آن راهاندازی شود.
| نمایش JSON |
|---|
{ "usdPrice": { object ( |
| فیلدها | |
|---|---|
usdPrice | الزامی. قیمت به دلار آمریکا برای استفاده در مکانهای جدید. بازی ممکن است در ... شروع شود. |
eurPrice | الزامی. قیمت به یورو برای استفاده در مکانهای جدید. بازی ممکن است در ... شروع شود. |
سایر مناطقپیشنهاد اشتراکمرحله رایگانقیمت لغو
این نوع هیچ فیلدی ندارد.
نشاندهنده پیکربندی لغو قیمت رایگان برای هر مکان جدیدی است که ممکن است Play برای یک مرحله پیشنهاد واحد راهاندازی شود.
هدفگیری پیشنهاد اشتراک
قانونی را که کاربر برای دریافت این پیشنهاد باید رعایت کند، تعریف میکند.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
rule فیلد اتحادیه. برای واجد شرایط بودن پیشنهاد تعیین شده توسط توسعهدهنده، این قانون را خالی بگذارید. rule فقط میتواند یکی از موارد زیر باشد: | |
acquisitionRule | قانون هدفگذاری پیشنهاد برای جذب کاربر جدید. |
upgradeRule | قانون هدفگذاری برای ارتقای طرحهای موجود کاربران ارائه دهید. |
قانون هدفگیری اکتساب
نشان دهنده یک قانون هدف گیری فرم است: کاربر قبلاً هرگز {scope} نداشته است.
| نمایش JSON |
|---|
{
"scope": {
object ( |
| فیلدها | |
|---|---|
scope | الزامی. دامنه اشتراکهایی که این قانون در نظر میگیرد. فقط «این اشتراک» و «هر اشتراکی در برنامه» مجاز است. |
محدوده هدفگیری
دامنه اشتراکهایی را تعریف میکند که یک قانون هدفگذاری میتواند با پیشنهادات هدف به کاربران بر اساس حق عضویت گذشته یا فعلی مطابقت دهد.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
| |
thisSubscription | دامنه قانون هدفگذاری فعلی، اشتراکی است که این پیشنهاد در آن تعریف شده است. |
anySubscriptionInApp | دامنه قانون هدفگذاری فعلی، هرگونه اشتراک در برنامه مادر است. |
specificSubscriptionInApp | محدودهی قانون هدفگیری فعلی، اشتراک با شناسهی اشتراک مشخصشده است. باید اشتراکی در همان برنامهی والد باشد. |
هدفگیریقاعدهدامنهایناشتراک
این نوع هیچ فیلدی ندارد.
نشاندهندهی محدودهی قانون هدفگذاری مربوط به اشتراکهایی است که این پیشنهاد در آنها تعریف شده است.
هدفگیریقاعدهدامنههرگونه اشتراکدربرنامه
این نوع هیچ فیلدی ندارد.
نشاندهندهی محدودهی قانون هدفگیری مربوط به هر اشتراک در برنامهی والد است.
قانون هدفگذاری ارتقا
نشان دهنده یک قانون هدف گذاری فرم است: کاربر در حال حاضر {scope} [با دوره صورتحساب {billing_period}] دارد.
| نمایش JSON |
|---|
{
"oncePerUser": boolean,
"scope": {
object ( |
| فیلدها | |
|---|---|
oncePerUser | این پیشنهاد را فقط به یک بار برای هر کاربر محدود کنید. اگر روی درست تنظیم شود، اگر کاربری قبلاً در این پیشنهاد مشترک شده باشد، دیگر هرگز واجد شرایط دریافت این پیشنهاد نخواهد بود. |
scope | الزامی. دامنه اشتراکهایی که این قانون در نظر میگیرد. فقط «این اشتراک» و «اشتراک خاص در برنامه» مجاز است. |
billingPeriodDuration | مدت زمان خاص دوره صورتحساب، که در قالب ISO 8601 مشخص شده است، و کاربر باید در حال حاضر در آن مشترک باشد تا واجد شرایط این قانون باشد. در صورت عدم مشخص شدن، کاربرانی که در هر دوره صورتحساب مشترک شدهاند، مطابقت داده میشوند. |
پیکربندی پیشنهاد اشتراک منطقهای
پیکربندی برای پیشنهاد اشتراک در یک منطقه واحد.
| نمایش JSON |
|---|
{ "regionCode": string, "newSubscriberAvailability": boolean } |
| فیلدها | |
|---|---|
regionCode | الزامی. تغییرناپذیر. کد منطقهای که این پیکربندی برای آن اعمال میشود، طبق تعریف ISO 3166-2، مثلاً "US". |
newSubscriberAvailability | آیا پیشنهاد اشتراک در منطقه مشخص شده برای مشترکین جدید در دسترس است یا خیر. اگر این مقدار روی false تنظیم شود، اشتراک مشترکین فعلی لغو نخواهد شد. اگر مشخص نشود، به طور پیشفرض روی false تنظیم میشود. |
پیکربندی پیشنهاد اشتراک سایر مناطق
پیکربندی برای هر مکان جدید، بازی ممکن است در پیشنهاد اشتراک مشخص شده شروع شود.
| نمایش JSON |
|---|
{ "otherRegionsNewSubscriberAvailability": boolean } |
| فیلدها | |
|---|---|
otherRegionsNewSubscriberAvailability | اینکه آیا پیشنهاد اشتراک در مکانهای جدید Play ممکن است در آینده راهاندازی شود یا خیر. اگر مشخص نشود، این مقدار به طور پیشفرض false خواهد بود. |
روشها | |
|---|---|
| پیشنهاد اشتراک را فعال میکند. |
| یک یا چند پیشنهاد اشتراک را میخواند. |
| مجموعهای از پیشنهادهای اشتراک را بهروزرسانی میکند. |
| مجموعهای از حالتهای پیشنهاد اشتراک را بهروزرسانی میکند. |
| یک پیشنهاد اشتراک جدید ایجاد میکند. |
| پیشنهاد اشتراک را غیرفعال میکند. |
| پیشنهاد اشتراک را حذف میکند. |
| یک پیشنهاد واحد را میخواند |
| تمام پیشنهادات مربوط به یک اشتراک خاص را فهرست میکند. |
| یک پیشنهاد اشتراک موجود را بهروزرسانی میکند. |
کدهای خطا
عملیات این منبع، کدهای خطای HTTP زیر را برمیگرداند:
| کد خطا | دلیل | توضیحات | وضوح تصویر |
|---|---|---|---|
400 | invalidValue | مقدار نامعتبری در درخواست ارائه شده است. این اغلب به عنوان یک توکن خرید ناقص یا نامعتبر برگردانده میشود. | مقدار فیلد نامعتبر را در بدنه درخواست یا پارامترها بر اساس مرجع API اصلاح کنید. |
400 | required | یک فیلد یا پارامتر الزامی در درخواست وجود ندارد. | برای اطمینان از وجود تمام فیلدها و پارامترهای اجباری، به مستندات API مراجعه کنید. |
403 | userInsufficientPermission | کاربر مجوز کافی برای انجام عملیات درخواستی را ندارد. | مطمئن شوید که کاربر احراز هویت شده مجوزهای لازم را در کنسول گوگل پلی دارد. برای جزئیات بیشتر به بخش «استفاده از حساب کاربری سرویس» مراجعه کنید. |
404 | notFound | منبع مورد نظر یافت نشد. | تأیید کنید که شناسهها (مثلاً توکن خرید، نام بسته، شناسه محصول، شناسه اشتراک) صحیح باشند. |
409 | concurrentUpdate | تلاشی برای بهروزرسانی شیءای که بهطور همزمان بهروزرسانی میشود، صورت گرفته است. | درخواست را با backoff نمایی دوباره امتحان کنید. از تغییرات همزمان در همان منبع خودداری کنید. |
5xx | Generic error | خطای عمومی در سرور گوگل پلی. | درخواست خود را دوباره امتحان کنید. اگر مشکل همچنان ادامه داشت، با مدیر حساب Google Play خود تماس بگیرید یا درخواست پشتیبانی ارسال کنید. داشبورد وضعیت Play را برای هرگونه قطعی شناخته شده بررسی کنید. |