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

基本方案價格按比例分配的比例,適用於使用者在本優惠階段支付的費用。舉例來說,如果這個地區的基本方案價格為 1 年 $12 美元,則 3 個月階段的 50% 折扣對應的價格為 $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)

使用者為這個優惠階段支付的絕對價格。價格不得低於 Google Play 在任何新推出的地區允許的最低價格。

relativeDiscount

number

基本方案價格按比例分配的比例,適用於使用者在本優惠階段支付的費用。舉例來說,如果這個地區的基本方案價格為 1 年 $12 美元,那麼 3 個月階段的 50% 折扣就會對應到 $1.50 美元的價格。折扣必須指定為介於 0 和 1 之間的分數。系統會將計算結果四捨五入至最接近的可結算單位 (例如美元為分)。如果折扣後的價格低於 Play 在任何新推出的地區允許的最低價格,則相對折扣視為無效。

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

從基本方案價格中扣除的絕對金額,按比例計算,並以使用者支付此優惠階段費用的階段時間長度為準。舉例來說,如果這個地區的基本方案價格為 1 年 $12 美元,那麼 3 個月階段的絕對折扣 $1 美元,對應的價格就是 $2 美元。產生的價格不得低於 Google 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} [with billing period {billing_period}]。

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

boolean

每位使用者只能兌換這項優惠一次。如果設為「是」,使用者如果曾訂閱這項優惠,就永遠無法再次享有這項優惠。

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

日後是否要在 Google Play 新推出的地區提供訂閱方案。如未指定,則預設為 false。

方法

activate

啟用訂閱優惠。

batchGet

讀取一或多個訂閱優惠。

batchUpdate

更新一批訂閱商品。

batchUpdateStates

更新一批訂閱商品的狀態。

create

建立新的訂閱優惠。

deactivate

停用訂閱優惠。

delete

刪除訂閱優惠。

get

讀取單一商品

list

列出特定訂閱項目下的所有優惠。

patch

更新現有的訂閱優惠。