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
  }
  // 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 个月的阶段可享 5 折优惠价相当于 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 个月的阶段可享 5 折优惠价相当于 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 (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

更新现有订阅优惠。