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

string

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

productId

string

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

basePlanId

string

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

offerId

string

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

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 Предложение подписки недоступно для новых пользователей. Существующие пользователи сохраняют доступ.

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

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

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

integer

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

duration

string

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

regionalConfigs[]

object ( RegionalSubscriptionOfferPhaseConfig )

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

otherRegionsConfig

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

string

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

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

object ( Money )

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

relativeDiscount

number

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

absoluteDiscount

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

object ( OtherRegionsSubscriptionOfferPhasePrices )

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

relativeDiscount

number

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

absoluteDiscounts

object ( OtherRegionsSubscriptionOfferPhasePrices )

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

free

object ( OtherRegionsSubscriptionOfferPhaseFreePriceOverride )

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

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

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

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

object ( Money )

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

eurPrice

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

object ( AcquisitionTargetingRule )

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

upgradeRule

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

thisSubscription

object ( TargetingRuleScopeThisSubscription )

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

anySubscriptionInApp

object ( TargetingRuleScopeAnySubscriptionInApp )

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

specificSubscriptionInApp

string

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

ТаргетингRuleScopeThisSubscription

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

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

ТаргетингRuleScopeAnySubscriptionInApp

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

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

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

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

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

boolean

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

scope

object ( TargetingRuleScope )

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

billingPeriodDuration

string

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

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

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

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

string

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

newSubscriberAvailability

boolean

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

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

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

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

boolean

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

Методы

activate

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

batchGet

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

batchUpdate

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

batchUpdateStates

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

create

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

deactivate

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

delete

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

get

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

list

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

patch

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