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

이 혜택 단계에 대해 사용자가 지불하는 단계 기간에 걸쳐 비례 배분된 기본 요금제 가격의 비율입니다. 예를 들어 이 지역의 기본 요금제 가격이 1년 기간 동안 12달러라면 3개월 기간 단계의 50% 할인은 1.5달러 가격에 해당합니다. 할인은 반드시 0보다 크고 1보다 작은 비율로 지정되어야 합니다. 결과 가격은 가장 가까운 청구 가능 단위 (예: USD의 경우 센트)로 반올림됩니다. 할인된 가격이 이 지역에서 허용되는 최저 가격보다 작은 경우 상대 할인은 무효한 것으로 간주됩니다.

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

이 혜택 단계에 대해 사용자가 지불하는 단계 기간에 걸쳐 비례 배분된 기본 요금제 가격의 비율입니다. 예를 들어 이 지역의 기본 요금제 가격이 1년 기간 동안 12달러라면 3개월 기간 단계의 50% 할인은 1.5달러 가격에 해당합니다. 할인은 반드시 0보다 크고 1보다 작은 비율로 지정되어야 합니다. 결과 가격은 가장 가까운 청구 가능 단위 (예: USD의 경우 센트)로 반올림됩니다. 할인된 가격이 Play가 출시될 수 있는 새로운 지역에 허용된 최저 가격보다 적게 되면 상대 할인은 무효한 것으로 간주됩니다.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

사용자가 이 혜택 단계에 대해 지불하는 단계 기간에 걸쳐 비례 배분된 기본 요금제 가격에서 뺀 절대 금액입니다. 예를 들어 이 지역의 기본 요금제 가격이 1년 기간 동안 12달러라면 3개월 기간 단계의 1달러 정액 할인은 2달러 가격에 해당합니다. 결과 가격은 Play가 출시될 수 있는 새 지역에 허용된 최저 가격보다 적을 수 없습니다.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

설정되는 경우 이 혜택이 무료임을 지정합니다.

OtherRegionsSubscriptionOfferPhasePrices

Play가 출시될 수 있는 새 위치의 가격 정보입니다.

JSON 표현
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
필드
usdPrice

object (Money)

필수 항목입니다. Play가 출시될 수 있는 새 위치에 사용할 가격(USD)입니다.

eurPrice

object (Money)

필수 항목입니다. Play가 출시될 수 있는 새 위치에 사용할 가격(EUR)입니다.

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

다음 형식의 타겟팅 규칙을 나타냅니다. 사용자는 전에 {범위}를 사용한 적이 없습니다.

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

다음 형식의 타겟팅 규칙을 나타냅니다. 사용자는 현재 {범위}[결제 기간 {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

기존 정기 결제 혜택을 업데이트합니다.