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)

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

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 个月的阶段享受 5 折优惠,相当于 1.50 美元。折扣必须指定为严格大于 0 且严格小于 1 的分数。所得价格将四舍五入为最接近的可结算单位(例如,美分是美分)。如果折扣价格最终低于此地区允许的最低价格,则相对折扣会被视为无效。

absoluteDiscount

object (Money)

从基础方案价格中扣减的绝对金额,根据用户在此优惠阶段支付的阶段时长按比例计算。例如,如果此地区的基础方案价格为 12 美元,为期 1 年,那么为期 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 个月的阶段享受 5 折优惠,相当于 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

更新现有订阅优惠。