REST Resource: monetization.subscriptions.basePlans.offers

Tài nguyên: SubscriptionOffer

Một ưu đãi tạm thời duy nhất

Biểu diễn dưới dạng 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)
    }
  ]
}
Trường
packageName

string

Bắt buộc. Không thể thay đổi. Tên gói của ứng dụng mà gói thuê bao mẹ thuộc về.

productId

string

Bắt buộc. Không thể thay đổi. Mã nhận dạng của gói thuê bao chính mà ưu đãi này thuộc về.

basePlanId

string

Bắt buộc. Không thể thay đổi. Mã nhận dạng của gói cơ bản mà ưu đãi này là một phần mở rộng.

offerId

string

Bắt buộc. Không thể thay đổi. Mã nhận dạng duy nhất của ưu đãi thuê bao này. Phải là duy nhất trong gói cơ bản.

state

enum (State)

Chỉ có đầu ra. Trạng thái hiện tại của ưu đãi này. Có thể thay đổi bằng cách sử dụng các thao tác Bật và Tắt. Lưu ý: trạng thái của gói cơ bản sẽ thay thế trạng thái này, vì vậy, một ưu đãi đang hoạt động có thể không dùng được nếu gói cơ bản không hoạt động.

phases[]

object (SubscriptionOfferPhase)

Bắt buộc. Các giai đoạn của ưu đãi gói thuê bao này. Phải chứa ít nhất một và tối đa hai mục. Người dùng sẽ luôn nhận được tất cả các giai đoạn này theo thứ tự đã chỉ định.

targeting

object (SubscriptionOfferTargeting)

Các yêu cầu mà người dùng cần đáp ứng để đủ điều kiện nhận ưu đãi này. Biểu thị các yêu cầu mà Play sẽ đánh giá để quyết định xem có nên trả về một đề nghị hay không. Nhà phát triển có thể tự lọc thêm những mặt hàng này.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Bắt buộc. Cấu hình theo khu vực cụ thể của ưu đãi này. Phải có ít nhất một mục.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Cấu hình cho mọi vị trí mới mà Play có thể ra mắt trong tương lai.

offerTags[]

object (OfferTag)

Danh sách gồm tối đa 20 thẻ tuỳ chỉnh được chỉ định cho mặt hàng này và được trả về cho ứng dụng thông qua thư viện thanh toán.

Tiểu bang

Trạng thái hiện tại của ưu đãi thuê bao.

Enum
STATE_UNSPECIFIED Giá trị mặc định, không bao giờ được sử dụng.
DRAFT Người dùng không thể và chưa bao giờ có thể sử dụng ưu đãi thuê bao này.
ACTIVE Ưu đãi thuê bao này dành cho cả người dùng mới và người dùng hiện tại.
INACTIVE Ưu đãi thuê bao này không dành cho người dùng mới. Người dùng hiện tại vẫn có quyền truy cập.

SubscriptionOfferPhase

Một giai đoạn của ưu đãi thuê bao.

Biểu diễn dưới dạng JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Trường
recurrenceCount

integer

Bắt buộc. Số lần giai đoạn này lặp lại. Nếu giai đoạn ưu đãi này không miễn phí, thì mỗi lần gia hạn, người dùng sẽ bị tính phí theo giá của giai đoạn ưu đãi này.

duration

string

Bắt buộc. Khoảng thời gian của một lần lặp lại duy nhất trong giai đoạn này. Được chỉ định ở định dạng ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Bắt buộc. Cấu hình theo khu vực cụ thể của giai đoạn ưu đãi này. Danh sách này phải chứa đúng một mục cho mỗi khu vực mà ưu đãi thuê bao có cấu hình theo khu vực.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt.

RegionalSubscriptionOfferPhaseConfig

Cấu hình cho một giai đoạn của ưu đãi thuê bao ở một khu vực duy nhất.

Biểu diễn dưới dạng 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.
}
Trường
regionCode

string

Bắt buộc. Không thể thay đổi. Khu vực mà cấu hình này áp dụng.

Trường nhóm price_override. Giá ghi đè của giai đoạn này. Bắt buộc. price_override chỉ có thể là một trong những trạng thái sau:
price

object (Money)

Giá tuyệt đối mà người dùng trả cho giai đoạn ưu đãi này. Giá không được thấp hơn giá tối thiểu được phép cho khu vực này.

relativeDiscount

number

Phần giá gói cơ bản được tính theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 120.000 VND trong thời hạn 1 năm, thì mức chiết khấu 50% cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với mức giá 15.000 VND. Bạn phải chỉ định chiết khấu dưới dạng một phân số lớn hơn 0 và nhỏ hơn 1. Giá cuối cùng sẽ được làm tròn đến đơn vị có thể tính phí gần nhất (ví dụ: xu đối với USD). Chiết khấu tương đối được coi là không hợp lệ nếu giá chiết khấu thấp hơn giá tối thiểu được phép ở khu vực này.

absoluteDiscount

object (Money)

Số tiền tuyệt đối được trừ vào giá gói cơ bản theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 12 USD trong thời hạn 1 năm, thì chiết khấu tuyệt đối 1 USD cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với giá 2 USD. Giá cuối cùng không được thấp hơn giá tối thiểu được phép cho khu vực này.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Đặt để chỉ định rằng ưu đãi này được cung cấp miễn phí.

RegionalSubscriptionOfferPhaseFreePriceOverride

Loại này không có trường nào.

Biểu thị cấu hình ghi đè giá miễn phí cho một giai đoạn của ưu đãi thuê bao

OtherRegionsSubscriptionOfferPhaseConfig

Cấu hình cho mọi vị trí mới mà Play có thể ra mắt trong một giai đoạn cung cấp.

Biểu diễn dưới dạng 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.
}
Trường
Trường nhóm price_override. Giá ghi đè của giai đoạn này. Bắt buộc. price_override chỉ có thể là một trong những trạng thái sau:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Giá tuyệt đối mà người dùng trả cho giai đoạn ưu đãi này. Giá không được thấp hơn giá tối thiểu được phép cho mọi vị trí mới mà Play có thể ra mắt.

relativeDiscount

number

Phần giá gói cơ bản được tính theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 120.000 VND trong thời hạn 1 năm, thì mức chiết khấu 50% cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với mức giá 15.000 VND. Bạn phải chỉ định chiết khấu dưới dạng một phân số lớn hơn 0 và nhỏ hơn 1. Giá cuối cùng sẽ được làm tròn đến đơn vị có thể tính phí gần nhất (ví dụ: xu đối với USD). Chiết khấu tương đối được coi là không hợp lệ nếu giá chiết khấu thấp hơn giá tối thiểu được phép ở bất kỳ vị trí mới nào mà Play có thể ra mắt.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Số tiền tuyệt đối được trừ vào giá gói cơ bản theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 12 USD trong thời hạn 1 năm, thì chiết khấu tuyệt đối 1 USD cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với giá 2 USD. Giá cuối cùng có thể không thấp hơn giá tối thiểu được phép cho bất kỳ vị trí mới nào mà Play có thể ra mắt.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Đặt để chỉ định rằng ưu đãi này được cung cấp miễn phí.

OtherRegionsSubscriptionOfferPhasePrices

Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt.

Biểu diễn dưới dạng JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Trường
usdPrice

object (Money)

Bắt buộc. Giá bằng USD để sử dụng cho mọi vị trí mới mà Play có thể ra mắt.

eurPrice

object (Money)

Bắt buộc. Giá bằng EUR để sử dụng cho mọi vị trí mới mà Play có thể ra mắt.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Loại này không có trường nào.

Biểu thị cấu hình ghi đè giá miễn phí cho mọi vị trí mới mà Play có thể ra mắt cho một giai đoạn ưu đãi duy nhất.

SubscriptionOfferTargeting

Xác định quy tắc mà người dùng cần đáp ứng để nhận được ưu đãi này.

Biểu diễn dưới dạng 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.
}
Trường
Trường nhóm rule. Để trống nếu bạn muốn sử dụng tiêu chí đủ điều kiện nhận ưu đãi do nhà phát triển xác định. rule chỉ có thể là một trong những trạng thái sau:
acquisitionRule

object (AcquisitionTargetingRule)

Quy tắc nhắm đến ưu đãi để thu nạp người dùng mới.

upgradeRule

object (UpgradeTargetingRule)

Quy tắc nhắm mục tiêu ưu đãi để nâng cấp gói hiện có của người dùng.

AcquisitionTargetingRule

Biểu thị một quy tắc nhắm mục tiêu có dạng: Người dùng chưa từng có {scope} trước đây.

Biểu diễn dưới dạng JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Trường
scope

object (TargetingRuleScope)

Bắt buộc. Phạm vi của các gói thuê bao mà quy tắc này xem xét. Chỉ cho phép "gói thuê bao này" và "mọi gói thuê bao trong ứng dụng".

TargetingRuleScope

Xác định phạm vi của các gói thuê bao mà một quy tắc nhắm mục tiêu có thể so khớp để nhắm mục tiêu ưu đãi cho người dùng dựa trên quyền trước đây hoặc hiện tại.

Biểu diễn dưới dạng 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.
}
Trường

Trường nhóm scope.

scope chỉ có thể là một trong những trạng thái sau:

thisSubscription

object (TargetingRuleScopeThisSubscription)

Phạm vi của quy tắc nhắm mục tiêu hiện tại là gói thuê bao mà trong đó ưu đãi này được xác định.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

Phạm vi của quy tắc nhắm mục tiêu hiện tại là mọi gói thuê bao trong ứng dụng mẹ.

specificSubscriptionInApp

string

Phạm vi của quy tắc nhắm mục tiêu hiện tại là gói thuê bao có mã thuê bao được chỉ định. Phải là một gói thuê bao trong cùng một ứng dụng mẹ.

TargetingRuleScopeThisSubscription

Loại này không có trường nào.

Biểu thị phạm vi quy tắc nhắm mục tiêu tương ứng với các gói thuê bao mà bạn xác định mặt hàng này.

TargetingRuleScopeAnySubscriptionInApp

Loại này không có trường nào.

Biểu thị phạm vi quy tắc nhắm mục tiêu tương ứng với mọi gói thuê bao trong ứng dụng mẹ.

UpgradeTargetingRule

Biểu thị một quy tắc nhắm mục tiêu có dạng: Người dùng hiện có {scope} [với kỳ thanh toán {billing_period}].

Biểu diễn dưới dạng JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Trường
oncePerUser

boolean

Mỗi người dùng chỉ được sử dụng ưu đãi này một lần. Nếu bạn đặt chính sách này thành true, thì người dùng sẽ không bao giờ đủ điều kiện sử dụng ưu đãi này nữa nếu họ từng đăng ký ưu đãi này.

scope

object (TargetingRuleScope)

Bắt buộc. Phạm vi của các gói thuê bao mà quy tắc này xem xét. Chỉ cho phép "gói thuê bao này" và "gói thuê bao cụ thể trong ứng dụng".

billingPeriodDuration

string

Khoảng thời gian thanh toán cụ thể (được chỉ định ở định dạng ISO 8601) mà người dùng phải đang đăng ký để đủ điều kiện áp dụng quy tắc này. Nếu bạn không chỉ định, thì người dùng đăng ký kỳ thanh toán nào cũng đủ điều kiện.

RegionalSubscriptionOfferConfig

Cấu hình cho một gói thuê bao ở một khu vực duy nhất.

Biểu diễn dưới dạng JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Trường
regionCode

string

Bắt buộc. Không thể thay đổi. Mã vùng mà cấu hình này áp dụng, theo định nghĩa của ISO 3166-2, ví dụ: "US".

newSubscriberAvailability

boolean

Gói thuê bao ở khu vực được chỉ định có dành cho người đăng ký mới hay không. Gói thuê bao của người đăng ký hiện tại sẽ không bị huỷ nếu bạn đặt giá trị này thành false. Nếu bạn không chỉ định, giá trị này sẽ mặc định là false.

OtherRegionsSubscriptionOfferConfig

Cấu hình cho mọi vị trí mới mà Play có thể ra mắt được chỉ định trong một ưu đãi thuê bao.

Biểu diễn dưới dạng JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Trường
otherRegionsNewSubscriberAvailability

boolean

Liệu bạn có cung cấp gói thuê bao ở những vị trí mới mà Play có thể ra mắt trong tương lai hay không. Nếu bạn không chỉ định, giá trị này sẽ mặc định là false.

Phương thức

activate

Kích hoạt một ưu đãi thuê bao.

batchGet

Đọc một hoặc nhiều ưu đãi thuê bao.

batchUpdate

Cập nhật một nhóm ưu đãi thuê bao.

batchUpdateStates

Cập nhật trạng thái của một loạt ưu đãi thuê bao.

create

Tạo một ưu đãi mới về gói thuê bao.

deactivate

Huỷ kích hoạt một ưu đãi thuê bao.

delete

Xoá một ưu đãi thuê bao.

get

Đọc một ưu đãi

list

Liệt kê tất cả các ưu đãi trong một gói thuê bao nhất định.

patch

Cập nhật ưu đãi thuê bao hiện có.

Mã lỗi

Các thao tác của tài nguyên này sẽ trả về các mã lỗi HTTP sau:

Mã lỗi Lý do Độ phân giải
5xx Lỗi chung trong máy chủ Google Play. Hãy thử gửi lại yêu cầu.

Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với người quản lý tài khoản Google Play hoặc gửi yêu cầu hỗ trợ. Hãy cân nhắc kiểm tra Trang tổng quan về trạng thái của Play để xem có sự cố ngừng hoạt động nào đã biết hay không.

409 Lỗi cập nhật đồng thời.

Đã có một nỗ lực cập nhật một đối tượng đang được cập nhật. Ví dụ: giao dịch mua được xác nhận bằng cách gọi phương thức acknowledgePurchase() của Thư viện Play Billing và gọi purchases.products.acknowledge của API Nhà phát triển Play cùng một lúc.

Hãy thử gửi lại yêu cầu.