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

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

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.

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

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

absoluteDiscount

object ( Money )

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

free

object ( RegionalSubscriptionOfferPhaseFreePriceOverride )

Уточняется, что это предложение доступно бесплатно.

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

Этот тип не содержит полей.

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

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

Настройки для любых новых локаций, в которых 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 )

Обязательно. Цена в долларах США для использования в любых новых локациях, где может быть запущена игра.

eurPrice

object ( Money )

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

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

Этот тип не содержит полей.

Представляет собой конфигурацию переопределения бесплатной цены для любых новых локаций, которые 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 )

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

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

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

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

object ( 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

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

Область действия правила таргетингаЭта подписка

Этот тип не содержит полей.

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

TargetingRuleScopeAnySubscriptionInApp

Этот тип не содержит полей.

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

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

Представляет собой правило таргетинга в форме: Пользователь в данный момент имеет {scope} [с расчетным периодом {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, например, «США».

newSubscriberAvailability

boolean

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

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

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

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

boolean

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

Методы

activate

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

batchGet

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

batchUpdate

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

batchUpdateStates

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

create

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

deactivate

Отключает предложение подписки.

delete

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

get

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

list

Отображает список всех предложений, доступных по данной подписке.

patch

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

коды ошибок

При работе с этим ресурсом возвращаются следующие коды ошибок HTTP:

Код ошибки Причина Описание Разрешение