REST Resource: monetization.subscriptions.basePlans.offers

Ресурс: Предложение подписки

Единое временное предложение

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)
    }
  ]
}
Поля
package Name

string

Необходимый. Неизменяемый. Имя пакета приложения, которому принадлежит родительская подписка.

product Id

string

Необходимый. Неизменяемый. Идентификатор родительской подписки, которой принадлежит это предложение.

base Plan Id

string

Необходимый. Неизменяемый. Идентификатор базового плана, расширением которого является это предложение.

offer Id

string

Необходимый. Неизменяемый. Уникальный идентификатор этого предложения подписки. Должно быть уникальным в пределах базового плана.

state

enum ( State )

Только вывод. Текущее состояние этого предложения. Можно изменить с помощью действий Активировать и Деактивировать. Примечание: состояние базового плана заменяет это состояние, поэтому активное предложение может быть недоступно, если базовый план не активен.

phases[]

object ( SubscriptionOfferPhase )

Необходимый. Фазы этого предложения подписки. Должен содержать минимум одну и максимум две записи. Пользователи всегда будут получать все эти этапы в указанном порядке.

targeting

object ( SubscriptionOfferTargeting )

Требования, которые пользователи должны выполнить, чтобы иметь право на участие в этом предложении. Представляет требования, которые Play оценит, чтобы решить, следует ли вернуть предложение. Разработчики могут самостоятельно фильтровать эти предложения.

regional Configs[]

object ( RegionalSubscriptionOfferConfig )

Необходимый. Конфигурация этого предложения для конкретного региона. Должен содержать хотя бы одну запись.

other Regions Config

object ( OtherRegionsSubscriptionOfferConfig )

Конфигурация для любых новых локаций, которые Play может запустить в будущем.

offer Tags[]

object ( OfferTag )

Список, содержащий до 20 пользовательских тегов, указанный для этого предложения и возвращенный в приложение через библиотеку выставления счетов.

Состояние

Текущее состояние предложения подписки.

Перечисления
STATE_UNSPECIFIED Значение по умолчанию, никогда не следует использовать.
DRAFT Предложение подписки недоступно и никогда не было доступно пользователям.
ACTIVE Предложение подписки доступно новым и существующим пользователям.
INACTIVE Предложение подписки недоступно для новых пользователей. Существующие пользователи сохраняют доступ.

ПодпискаПредложениеФаза

Один этап предложения подписки.

JSON-представление
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Поля
recurrence Count

integer

Необходимый. Сколько раз повторяется эта фаза. Если эта фаза предложения не бесплатна, за каждое повторение с пользователя взимается цена этой фазы предложения.

duration

string

Необходимый. Продолжительность однократного рецидива этой фазы. Указывается в формате ISO 8601.

regional Configs[]

object ( RegionalSubscriptionOfferPhaseConfig )

Необходимый. Конфигурация этого этапа предложения для конкретного региона. Этот список должен содержать ровно одну запись для каждого региона, для которого предложение подписки имеет региональную конфигурацию.

other Regions Config

object ( OtherRegionsSubscriptionOfferPhaseConfig )

Информация о ценах на любые новые места, где может появиться Play.

РегиональнаяподпискаПредложениеPhaseConfig

Конфигурация для одного этапа предложения подписки в одном регионе.

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.
}
Поля
region Code

string

Необходимый. Неизменяемый. Регион, к которому применяется эта конфигурация.

Поле объединения price_override . Переопределение цены на этом этапе. Необходимый. price_override может быть только одним из следующих:
price

object ( Money )

Абсолютная цена, которую пользователь платит за этот этап предложения. Цена не должна быть ниже минимальной цены, разрешенной для этого региона.

relative Discount

number

Доля цены базового плана, пропорциональная продолжительности фазы, которую пользователь платит за эту фазу предложения. Например, если базовая цена плана для этого региона составляет 12 долларов США сроком на 1 год, то скидка 50 % на этап продолжительностью 3 месяца будет соответствовать цене 1,50 доллара США. Скидку необходимо указывать в виде дроби строго больше 0 и строго меньше 1. Полученная цена будет округлена до ближайшей расчетной единицы (например, центов за доллар США). Относительная скидка считается недействительной, если цена со скидкой оказывается меньше минимальной цены, разрешенной в этом регионе.

absolute Discount

object ( Money )

Абсолютная сумма денег, вычтенная из цены базового плана, пропорционально продолжительность фазы, которую пользователь платит за эту фазу предложения. Например, если базовая цена плана для этого региона составляет 12 долларов США сроком на 1 год, то абсолютная скидка в 1 доллар США для этапа продолжительностью 3 месяца будет соответствовать цене в 2 доллара США. Итоговая цена не может быть меньше минимальной цены, разрешенной для этого региона.

free

object ( RegionalSubscriptionOfferPhaseFreePriceOverride )

Установите, чтобы указать, что это предложение можно получить бесплатно.

РегиональнаяПодпискаПредложениеФазаБесплатноЦенаПереопределить

Этот тип не имеет полей.

Представляет бесплатную конфигурацию переопределения цены для одного этапа предложения подписки.

Другие регионыПодпискаПредложениеPhaseConfig

Конфигурация для любых новых локаций, которые 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 может быть только одним из следующих:
other Regions Prices

object ( OtherRegionsSubscriptionOfferPhasePrices )

Абсолютная цена, которую пользователь платит за этот этап предложения. Цена не должна быть меньше минимальной цены, разрешенной для любых новых мест, где может запускаться Play.

relative Discount

number

Доля цены базового плана, пропорциональная продолжительности фазы, которую пользователь платит за эту фазу предложения. Например, если базовая цена плана для этого региона составляет 12 долларов США сроком на 1 год, то скидка 50 % на этап продолжительностью 3 месяца будет соответствовать цене 1,50 доллара США. Скидку необходимо указывать в виде дроби строго больше 0 и строго меньше 1. Полученная цена будет округлена до ближайшей расчетной единицы (например, центов за доллар США). Относительная скидка считается недействительной, если цена со скидкой оказывается меньше минимальной цены, разрешенной в любых новых местах, где может запускаться Play.

absolute Discounts

object ( OtherRegionsSubscriptionOfferPhasePrices )

Абсолютная сумма денег, вычтенная из цены базового плана, пропорционально продолжительность фазы, которую пользователь платит за эту фазу предложения. Например, если базовая цена плана для этого региона составляет 12 долларов США сроком на 1 год, то абсолютная скидка в 1 доллар США для этапа продолжительностью 3 месяца будет соответствовать цене в 2 доллара США. Итоговая цена не может быть меньше минимальной цены, разрешенной для любых новых мест, где может запускаться Play.

free

object ( OtherRegionsSubscriptionOfferPhaseFreePriceOverride )

Установите, чтобы указать, что это предложение можно получить бесплатно.

ДругиеРегионыПодпискаПредложениеФазаЦены

Информация о ценах на любые новые места, где может появиться Play.

JSON-представление
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Поля
usd Price

object ( Money )

Необходимый. Цена в долларах США для использования во всех новых местах, где может появиться Play.

eur Price

object ( Money )

Необходимый. Цена указана в евро для любых новых мест, где может появиться Play.

ДругиеРегионыПодпискаПредложениеФазаБесплатноЦенаПереопределить

Этот тип не имеет полей.

Представляет собой бесплатную конфигурацию переопределения цены для любых новых мест, которые Play может запустить на одном этапе предложения.

ПодпискаПредложениеТаргетинг

Определяет правило, которому должен соответствовать пользователь, чтобы получить это предложение.

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 может быть только одним из следующих:
acquisition Rule

object ( AcquisitionTargetingRule )

Предложите правило таргетинга для привлечения новых пользователей.

upgrade Rule

object ( UpgradeTargetingRule )

Предложите правило таргетинга для обновления существующих планов пользователей.

Правило таргетинга для источников трафика

Представляет правило таргетинга в форме: У пользователя никогда раньше не было {scope}.

JSON-представление
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Поля
scope

object ( TargetingRuleScope )

Необходимый. Объем подписок, которые учитывает это правило. Разрешены только «эта подписка» и «любая подписка в приложении».

ТаргетингRuleScope

Определяет объем подписок, которые правило таргетинга может сопоставить с целевыми предложениями для пользователей на основе прошлых или текущих прав.

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 поля Union.

scope может быть только одной из следующих:

this Subscription

object ( TargetingRuleScopeThisSubscription )

Областью действия текущего правила таргетинга является подписка, в которой определено это предложение.

any Subscription In App

object ( TargetingRuleScopeAnySubscriptionInApp )

Областью действия текущего правила таргетинга является любая подписка в родительском приложении.

specific Subscription In App

string

Областью действия текущего правила таргетинга является подписка с указанным идентификатором подписки. Должна быть подписка в том же родительском приложении.

ТаргетингRuleScopeThisSubscription

Этот тип не имеет полей.

Представляет область действия правила таргетинга, соответствующую подпискам, в которых определено это предложение.

ТаргетингRuleScopeAnySubscriptionInApp

Этот тип не имеет полей.

Представляет область действия правила таргетинга, соответствующую любой подписке в родительском приложении.

Правило обновления таргетинга

Представляет правило таргетинга в форме: В настоящее время у пользователя есть {область} [с расчетным периодом {billing_ period}].

JSON-представление
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Поля
once Per User

boolean

Ограничьте это предложение только один раз для каждого пользователя. Если установлено значение true, пользователь никогда больше не сможет получить право на это предложение, если он когда-либо подписался на это предложение.

scope

object ( TargetingRuleScope )

Необходимый. Объем подписок, которые учитывает это правило. Разрешены только «эта подписка» и «конкретная подписка в приложении».

billing Period Duration

string

Конкретная продолжительность расчетного периода, указанная в формате ISO 8601, на которую пользователь должен быть в настоящее время подписан, чтобы иметь право на это правило. Если не указано, сопоставляются пользователи, подписанные на любой расчетный период.

Региональная подпискаПредложениеConfig

Конфигурация предложения подписки в одном регионе.

JSON-представление
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Поля
region Code

string

Необходимый. Неизменяемый. Код региона, к которому применяется данная конфигурация, согласно определению ISO 3166-2, например «США».

new Subscriber Availability

boolean

Доступно ли предложение подписки в указанном регионе для новых подписчиков. Подписка существующих подписчиков не будет отменена, если для этого значения установлено значение false. Если не указано, по умолчанию будет установлено значение false.

Другие регионыПодпискаПредложениеКонфигурация

Конфигурация для любых новых местоположений, которые Play может запустить в соответствии с предложением подписки.

JSON-представление
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Поля
other Regions New Subscriber Availability

boolean

Может ли предложение подписки в каких-либо новых местах появиться в будущем? Если не указано, по умолчанию будет установлено значение false.

Методы

activate

Активирует предложение подписки.

batch Get

Читает одно или несколько предложений подписки.

batch Update

Обновляет пакет предложений подписки.

batch Update States

Обновляет пакет состояний предложения подписки.

create

Создает новое предложение подписки.

deactivate

Деактивирует предложение подписки.

delete

Удаляет предложение подписки.

get

Читает одно предложение

list

Перечисляет все предложения по данной подписке.

patch

Обновляет существующее предложение подписки.