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)

この特典を適用するためにユーザーが満たす必要のある要件。特典を返すべきかどうかを判断するために Google Play が評価する要件を示します。デベロッパーは、これらの特典を独自にさらにフィルタしても構いません。

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

必須。この特典の地域固有の設定。少なくとも 1 つのエントリを含む必要があります。

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

今後 Google Play をリリースする可能性のある新たな地域向けの設定。

offerTags[]

object (OfferTag)

この特典に対して指定され、Billing Library を通してアプリに返されるカスタムタグのリスト(最大 20 個)。

州

定期購入特典の現在の状態。

列挙型
STATE_UNSPECIFIED デフォルト値。使用しないでください。
DRAFT 定期購入特典は今までも現在もユーザーに提供されていません。
ACTIVE 定期購入特典は新規ユーザーと既存ユーザーに提供されています。
INACTIVE 定期購入特典は新規ユーザーに提供されていません。既存ユーザーは引き続き利用できます。

SubscriptionOfferPhase

定期購入特典の単一フェーズ。

JSON 表現
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
フィールド
recurrenceCount

integer

必須。このフェーズが繰り返される回数。この特典フェーズが無料でない場合は、フェーズごとにこの特典フェーズの料金がユーザーに請求されます。

duration

string

必須。この繰り返しフェーズの 1 回の期間。ISO 8601 形式で示します。

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

必須。この特典フェーズの地域固有の設定。このリストには、定期購入特典に地域別設定がある地域ごとに 1 つだけエントリを含める必要があります。

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Google Play をリリースする可能性のある新たな地域向けの価格情報。

RegionalSubscriptionOfferPhaseConfig

1 つの地域における定期購入特典の単一フェーズの設定。

JSON 表現
{
  "regionCode": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
フィールド
regionCode

string

必須。変更不可。この設定が適用される地域。

このフェーズの価格のオーバーライド。必須。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
price

object (Money)

この特典フェーズでユーザーが支払う絶対価格。この地域で認められている最低価格よりも低い価格であってはなりません。

relativeDiscount

number

基本プランの価格から差し引かれる割引率。フェーズの期間にわたって日割り計算されます。0 より大きく 1 より小さい値で指定します。たとえば、値が 0.8 の場合は 80% 割引を表します。つまり、日割り計算された基本プランの価格が $100 の場合、特典価格は $20 になります。割引後の価格は、最も近い請求可能な単位に丸められます(例: USD の場合はセント)。割引後の価格が、地域で認められている最低価格よりも低くなった場合は、率での割引は無効とみなされます。

absoluteDiscount

object (Money)

フェーズ期間に応じて按分された基本プラン価格から差し引かれる絶対金額。たとえば、この地域における 1 年間の基本プラン価格が $12 の場合、3 か月間のフェーズに対して割引額 $1 を適用した後の価格は $2 となります。この地域で認められている最低価格よりも低い価格になってはなりません。

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

この特典が無料で取得できることを示すために設定します。

相互に排他的なフィールドの終了。

RegionalSubscriptionOfferPhaseFreePriceOverride

この型にはフィールドがありません。

定期購入特典の単一フェーズの無料価格オーバーライド設定を表します。

OtherRegionsSubscriptionOfferPhaseConfig

Google Play をリリースする可能性のある新たな地域向けの、単一の特典フェーズに関する設定。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
フィールド
このフェーズの価格のオーバーライド。必須。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

この特典フェーズでユーザーが支払う絶対価格。Google Play をリリースする可能性のある新たな地域で認められている最低価格よりも低い価格であってはなりません。

relativeDiscount

number

基本プランの価格から差し引かれる割引率。フェーズの期間にわたって日割り計算されます。0 より大きく 1 より小さい値で指定します。たとえば、値が 0.8 の場合は 80% 割引を表します。つまり、日割り計算された基本プランの価格が $100 の場合、特典価格は $20 になります。割引後の価格は、最も近い請求可能な単位に丸められます(例: USD の場合はセント)。割引後の価格が、Google Play をリリースする可能性のある新たな地域で認められている最低価格よりも低くなった場合は、率での割引は無効とみなされます。

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

フェーズ期間に応じて按分された基本プラン価格から差し引かれる絶対金額。たとえば、この地域における 1 年間の基本プラン価格が $12 の場合、3 か月間のフェーズに対して割引額 $1 を適用した後の価格は $2 となります。Google Play をリリースする可能性のある新たな地域で認められている最低価格よりも低い価格になってはなりません。

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

この特典が無料で取得できることを示すために設定します。

相互に排他的なフィールドの終了。

OtherRegionsSubscriptionOfferPhasePrices

Google Play をリリースする可能性のある新たな地域向けの価格情報。

JSON 表現
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
フィールド
usdPrice

object (Money)

必須。Google Play をリリースする可能性のある新たな地域向けの価格(USD)。

eurPrice

object (Money)

必須。Google Play をリリースする可能性のある新たな地域向けの価格(EUR)。

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

この型にはフィールドがありません。

Google Play をリリースする可能性のある新たな地域向けの、単一の特典フェーズに関する無料価格オーバーライド設定を表します。

SubscriptionOfferTargeting

この特典を受け取るためにユーザーが満たすべきルールを定義します。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of mutually exclusive fields.
}
フィールド
デベロッパーが特典の利用資格を決定する場合は空欄にします。相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
acquisitionRule

object (AcquisitionTargetingRule)

新規ユーザー獲得のための特典ターゲティング ルール。

upgradeRule

object (UpgradeTargetingRule)

ユーザーの既存プランのアップグレードのための特典ターゲティング ルール。

相互に排他的なフィールドの終了。

AcquisitionTargetingRule

「これまで {scope} を利用したことがないユーザー」という形式のターゲティング ルールを表します。

JSON 表現
{
  "scope": {
    object (TargetingRuleScope)
  }
}
フィールド
scope

object (TargetingRuleScope)

必須。このルールが適用される定期購入のスコープ。「この定期購入」と「アプリ内のすべての定期購入」のみ認められます。

TargetingRuleScope

過去または現在の利用資格に基づいてユーザーを特典のターゲットに設定するために、ターゲティング ルールを適用する定期購入のスコープを定義します。

JSON 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of mutually exclusive fields.
}
フィールド
相互に排他的なフィールドのリストは次のとおりです。レスポンスに設定されるフィールドは、最大 1 つです。
thisSubscription

object (TargetingRuleScopeThisSubscription)

現在のターゲティング ルールのスコープは、この特典が定義される定期購入です。

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

現在のターゲティング ルールのスコープは、親アプリ内のすべての定期購入です。

specificSubscriptionInApp

string

現在のターゲティング ルールのスコープは、指定の定期購入 ID を持つ定期購入です。同じ親アプリ内の定期購入である必要があります。

相互に排他的なフィールドの終了。

TargetingRuleScopeThisSubscription

この型にはフィールドがありません。

この特典が定義される定期購入に対応するターゲティング ルールのスコープを表します。

TargetingRuleScopeAnySubscriptionInApp

この型にはフィールドがありません。

親アプリ内のすべての定期購入に対応するターゲティング ルールのスコープを表します。

UpgradeTargetingRule

「現在 {scope} を利用している、[請求対象期間が {billingPeriod}] のユーザー」という形式のターゲティング ルールを表します。

JSON 表現
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
フィールド
oncePerUser

boolean

この特典を 1 ユーザーにつき 1 回のみに制限します。true に設定すると、この特典を定期購入したことのあるユーザーは、この特典を利用できなくなります。

scope

object (TargetingRuleScope)

必須。このルールが適用される定期購入のスコープ。「この定期購入」と「アプリ内の特定の定期購入」のみ認められます。

billingPeriodDuration

string

このルールの利用資格を満たすために、ユーザーが現在定期購入していなければならない特定の請求対象期間(ISO 8601 形式で指定)。指定されていない場合、すべての請求対象期間で定期購入しているユーザーが対象となります。

RegionalSubscriptionOfferConfig

1 つの地域における定期購入特典の設定。

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

1 つ以上の定期購入特典を読み込みます。

batchUpdate

定期購入特典を一括で更新します。

batchUpdateStates

定期購入特典の状態を一括で更新します。

create

新しい定期購入特典を作成します。

deactivate

定期購入特典を無効にします。

delete

定期購入特典を削除します。

get

1 つの特典を読み込みます。

list

指定された定期購入のすべての特典リストを作成します。

patch

既存の定期購入特典を更新します。

エラーコード

このリソースのオペレーションは、次の HTTP エラーコードを返します。

エラーコード 理由 説明 解決策