REST Resource: monetization.subscriptions.basePlans.offers

资源:SubscriptionOffer

一项临时优惠

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

必需。不可变。此优惠所属的父级订阅的 ID。

basePlanId

string

必需。不可变。此优惠所适用的基础方案的 ID。

offerId

string

必需。不可变。此订阅优惠的唯一 ID。在基础方案中必须是唯一的。

state

enum (State)

仅供输出。此优惠的当前状态。可通过“启用”和“停用”操作进行更改。注意:基础方案状态将取代此状态,因此,如果基础方案无效,则可能没有可用的有效优惠。

phases[]

object (SubscriptionOfferPhase)

必需。此订阅优惠的各个阶段。必须包含至少 1 个条目,最多包含 5 个条目。用户始终会按指定顺序接收所有这些阶段。在初始创建后,阶段便无法添加、移除或重新排序。

targeting

object (SubscriptionOfferTargeting)

用户需要满足的要求才有资格享受此优惠。表示 Play 为决定是否应返回优惠而评估的要求。开发者可以自行进一步过滤这些优惠。

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

必需。此优惠针对特定地区的配置。必须包含至少一个条目。

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Play 日后可能会发布任何新地理位置的配置。

offerTags[]

object (OfferTag)

列出为此优惠指定并通过结算库返回给应用的自定义代码(最多 20 个)。

状态

订阅优惠的当前状态。

枚举
STATE_UNSPECIFIED 默认值,绝不能使用。
DRAFT 我们从未也一直没有为用户提供订阅优惠。
ACTIVE 订阅优惠适用于新用户和现有用户。
INACTIVE 新用户无法享受订阅优惠。现有用户会保留访问权限。

SubscriptionOfferPhase

订阅优惠的单个阶段。

JSON 表示法
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
字段
recurrenceCount

integer

必需。此阶段的重复次数。如果此优惠阶段不是免费的,那么每次续订都会向用户收取此优惠阶段的费用。

duration

string

必需。此阶段单个重复过程的时长。采用 ISO 8601 格式。

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

必需。此优惠阶段的特定区域配置。对于订阅优惠具有地区配置的每个地区,此列表必须只包含一个条目。

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Play 可能会在新地区发布的所有地区的价格信息。

RegionalSubscriptionOfferPhaseConfig

单个区域中订阅优惠的单个阶段的配置。

JSON 表示法
{
  "regionCode": string,

  // Union field price_override can be only one of the following:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object
  }
  // End of list of possible types for union field price_override.
}
字段
regionCode

string

必需。不可变。此配置应用到的区域。

联合字段 price_override。此阶段的价格替换值。必需。price_override 只能是下列其中一项:
price

object (Money)

用户在此优惠阶段支付的绝对价格。价格不得低于此地区允许的最低价格。

relativeDiscount

number

用户在为此优惠阶段支付的费用期间,按比例计算的基础方案价格所占的比例。例如,如果此地区的基础方案价格在 1 年内为 12 美元,则以 3 个月时长为一个的阶段享受 50% 的折扣相当于价格 1.50 美元。折扣必须指定为严格大于 0 且严格小于 1 的小数。所得价格将四舍五入为最接近的可结算单位(例如,美元美分)。如果折扣价格最终低于此地区允许的最低价格,则相对折扣将被视为无效。

absoluteDiscount

object (Money)

在用户为此优惠阶段支付的阶段时长内,从基础方案价格中减去的绝对金额。例如,如果此地区的基础方案价格在 1 年内为 12 美元,那么在 3 个月期间的阶段中,1 美元的绝对折扣价格相当于 2 美元。最终价格不得低于此地区允许的最低价格。

free

object

设置为指定此优惠可免费获取。

OtherRegionsSubscriptionOfferPhaseConfig

针对 Play 可能会针对单个优惠阶段发布的任何新地理位置进行配置。

JSON 表示法
{

  // Union field price_override can be only one of the following:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object
  }
  // End of list of possible types for union field price_override.
}
字段
联合字段 price_override。此阶段的价格替换值。必需。price_override 只能是下列其中一项:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

用户在此优惠阶段支付的绝对价格。该价格不得低于 Play 可能会发布的任何新国家/地区允许的最低价格。

relativeDiscount

number

用户在为此优惠阶段支付的费用期间,按比例计算的基础方案价格所占的比例。例如,如果此地区的基础方案价格在 1 年内为 12 美元,则以 3 个月时长为一个的阶段享受 50% 的折扣相当于价格 1.50 美元。折扣必须指定为严格大于 0 且严格小于 1 的小数。所得价格将四舍五入为最接近的可结算单位(例如,美元美分)。如果折扣价格最终低于 Play 可能会发布的任何新地区允许的最低价格,则相对折扣会被视为无效。

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

在用户为此优惠阶段支付的阶段时长内,从基础方案价格中减去的绝对金额。例如,如果此地区的基础方案价格在 1 年内为 12 美元,那么在 3 个月期间的阶段中,1 美元的绝对折扣价格相当于 2 美元。最终价格不得低于 Play 可能会发布的任何新国家/地区允许的最低价格。

free

object

设置为指定此优惠可免费获取。

OtherRegionsSubscriptionOfferPhasePrices

Play 可能会在新地区发布的所有地区的价格信息。

JSON 表示法
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
字段
usdPrice

object (Money)

必需。在 Play 可能会在新地区发布的所有新国家/地区使用价格(美元)。

eurPrice

object (Money)

必需。在 Play 可能会推出的任何新国家/地区使用价格(以欧元为单位)。

SubscriptionOfferTargeting

定义用户需要满足哪些规则才能收到此优惠。

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)

用于升级用户现有方案的优惠定位规则。

AcquisitionTargetingRule

表示以下形式的定位规则:用户以前从未有过 {scope}。

JSON 表示法
{
  "scope": {
    object (TargetingRuleScope)
  }
}
字段
scope

object (TargetingRuleScope)

必需。此规则考虑的订阅范围。仅允许“此订阅”和“应用内的任何订阅”。

TargetingRuleScope

定义订阅范围,定位规则可根据过去或当前使用权向用户定位优惠。

JSON 表示法
{

  // Union field scope can be only one of the following:
  "thisSubscription": {
    object
  },
  "anySubscriptionInApp": {
    object
  },
  "specificSubscriptionInApp": string
  // End of list of possible types for union field scope.
}
字段

联合字段 scope

scope 只能是下列其中一项:

thisSubscription

object

当前定位规则的范围是定义此优惠的订阅。

anySubscriptionInApp

object

当前定位规则的范围为父级应用中的任何订阅。

specificSubscriptionInApp

string

当前定位规则的范围是具有指定订阅 ID 的订阅。必须是同一父应用内的订阅。

UpgradeTargetingRule

表示以下形式的定位规则:用户目前拥有{scope} [结算周期为 {billing_period}]。

JSON 表示法
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
字段
oncePerUser

boolean

每位用户仅可使用此优惠一次。如果设置为 true,那么如果用户曾订阅过此优惠,则将无法再享受此优惠。

scope

object (TargetingRuleScope)

必需。此规则考虑的订阅范围。仅允许“此订阅”和“应用内的特定订阅”。

billingPeriodDuration

string

以 ISO 8601 格式指定的具体结算周期,用户当前必须订阅此结算周期,才有资格使用此规则。如果未指定,则匹配已订阅任何结算周期的用户。

RegionalSubscriptionOfferConfig

单个区域中的订阅优惠的配置。

JSON 表示法
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
字段
regionCode

string

必需。不可变。此配置适用的区域代码(由 ISO 3166-2 定义),例如“US”。

newSubscriberAvailability

boolean

指定区域中的订阅优惠是否对新订阅者提供。如果该值设为 false,现有订阅者将不会取消他们的订阅。如果未指定,则默认为 false。

OtherRegionsSubscriptionOfferConfig

针对 Play 可能会在订阅优惠中指定任何新地点的配置。

JSON 表示法
{
  "otherRegionsNewSubscriberAvailability": boolean
}
字段
otherRegionsNewSubscriberAvailability

boolean

日后 Play 是否会在新地区推出订阅优惠。如果未指定,则默认为 false。

方法

activate

激活订阅优惠。

create

创建新的订阅优惠。

deactivate

停用订阅优惠。

delete

删除订阅优惠。

get

读取单个优惠

list

列出指定订阅下的所有优惠。

patch

更新现有订阅优惠。