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 个、最多 2 个条目。用户将始终以指定顺序进入所有这些阶段。

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 (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
字段
regionCode

string

必需。不可变。相应配置要应用到的地区。

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

object (Money)

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

relativeDiscount

number

相应优惠阶段向用户收取的价格在基于阶段时长按比例折算的基础方案价格中的占比(以小数表示)。例如,如果此地区的基础方案价格为 12 美元,持续 1 年,则为期 3 个月的阶段可享 1.50 折优惠。必须将折扣指定为一个严格大于 0 且严格小于 1 的小数。最终价格将四舍五入到最接近的可结算单位(例如美元将舍入到美分)。如果折扣价格最终低于相应地区允许的最低价格,则相对折扣会被视为无效。

absoluteDiscount

object (Money)

基于相应优惠阶段时长按比例折算的基础方案价格减去该阶段向用户收取的价格后得出的绝对金额。例如,如果基础方案在相应地区 1 年期的价格为 12 美元,那么对于时长为 3 个月的阶段而言,1 美元绝对折扣对应 2 美元的价格。计算得出的价格不得低于此地区允许的最低价格。

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

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

RegionalSubscriptionOfferPhaseFreePriceOverride

此类型没有字段。

表示订阅优惠的单个阶段的免费价格替换配置

OtherRegionsSubscriptionOfferPhaseConfig

对于单个优惠阶段,Play 未来可能新增的任何地区所对应的配置。

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)

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

relativeDiscount

number

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

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

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

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

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

OtherRegionsSubscriptionOfferPhasePrices

与 Play 可能发布的所有新地区对应的价格信息。

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

object (Money)

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

eurPrice

object (Money)

必需。要在 Play 未来可能新增的任何地区使用的价格(欧元)。

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

此类型没有字段。

表示 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 (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

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

TargetingRuleScopeThisSubscription

此类型没有字段。

表示与定义了相应优惠的订阅对应的定位规则范围。

TargetingRuleScopeAnySubscriptionInApp

此类型没有字段。

表示与父应用中任何订阅对应的定位规则范围。

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

激活订阅优惠。

batchGet

读取一个或多个订阅优惠。

batchUpdate

批量更新订阅优惠。

batchUpdateStates

批量更新订阅优惠状态。

create

创建新的订阅优惠。

deactivate

停用订阅优惠。

delete

删除订阅套餐。

get

读取单个优惠

list

列出指定订阅下的全部优惠。

patch

更新现有订阅优惠。