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)

Google 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 個月的 50% 折扣會顯示為 $1.50 美元。折扣必須以實際大於 0 且小於 1 的分數指定。最終價格會四捨五入至最接近的可收費單位 (例如 USD 的美分)。如果折扣價格最終低於這個區域允許的最低價格,系統會將相對折扣視為無效。

absoluteDiscount

object (Money)

在使用者針對這項優惠階段支付的階段期間,從基本方案價格扣除的絕對金額。舉例來說,如果這個區域的基本方案價格在 1 年內是 $12 美元,則效期 3 個月每階段 $1 美元的絕對折扣會對應到 $2 美元。結果價格不得低於這個區域允許的最低價格。

free

object

設為 來指定這項優惠可免費獲得。

OtherRegionsSubscriptionOfferPhaseConfig

Google 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)

使用者針對此優惠階段支付的絕對價格。價格不得小於 Google Play 新推出地區所允許的最低價格。

relativeDiscount

number

在基本方案價格的階段,使用者針對這項優惠階段支付的費用比例。舉例來說,如果這個地區的基本方案價格在 1 年內是 $12 美元,則效期 3 個月的 50% 折扣會顯示為 $1.50 美元。折扣必須以實際大於 0 且小於 1 的分數指定。最終價格會四捨五入至最接近的可收費單位 (例如 USD 的美分)。如果折扣價格最終低於 Google Play 在任何新地區推出的最低價格,系統就會將相關折扣視為無效。

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

在使用者針對這項優惠階段支付的階段期間,從基本方案價格扣除的絕對金額。舉例來說,如果這個區域的基本方案價格在 1 年內是 $12 美元,則效期 3 個月每階段 $1 美元的絕對折扣會對應到 $2 美元。最終價格不得低於 Google Play 針對任何新地點推出的最低價格。

free

object

設為 來指定這項優惠可免費獲得。

OtherRegionsSubscriptionOfferPhasePrices

Google Play 可能推出新地區之定價資訊。

JSON 表示法
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
欄位
usdPrice

object (Money)

必要欄位。Play 可能在 Google Play 推出新地點時使用的價格 (以美元為單位)。

eurPrice

object (Money)

必要欄位。價格 (歐元),用於 Google 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

Google Play 可能會依照訂閱優惠指定推出任何新地點的設定。

JSON 表示法
{
  "otherRegionsNewSubscriberAvailability": boolean
}
欄位
otherRegionsNewSubscriberAvailability

boolean

顯示訂閱優惠是否會在 Google Play 未來在任何新地區推出。如果未指定,則預設為 false。

方法

activate

啟用訂閱優惠。

batchGet

讀取一或多項訂閱優惠。

batchUpdate

更新批次訂閱優惠。

batchUpdateStates

更新大量訂閱優惠狀態。

create

建立新的訂閱優惠。

deactivate

停用訂閱優惠。

delete

刪除訂閱優惠。

get

讀取單一優惠

list

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

patch

更新現有的訂閱優惠。