- Ресурс: ПодпискаПредложение
- Состояние
- ПодпискаОферФаза
- РегиональнаяПодпискаПредложениеФазаКонфигурация
- РегиональнаяПодпискаПредложениеФазаБесплатнаяЦенаПереопределение
- Другие регионыПодпискаПредложениеФазаКонфигурация
- Другие регионыПодпискаПредложениеФазаЦены
- Другие регионыПодпискаПредложениеФазаБесплатноЦенаПереопределение
- ПодпискаПредложениеТаргетинг
- Правило таргетинга на приобретение
- TargetingRuleScope
- TargetingRuleScopeThisSubscription
- TargetingRuleScopeAnySubscriptionInApp
- UpgradeTargetingRule
- РегиональнаяПодпискаОферКонфигурация
- ДругиеРегионыПодпискаОферКонфигурация
- Методы
Ресурс: ПодпискаПредложение
Разовое временное предложение
JSON-представление |
---|
{ "packageName": string, "productId": string, "basePlanId": string, "offerId": string, "state": enum ( |
Поля | |
---|---|
packageName | Обязательно. Неизменяемо. Имя пакета приложения, к которому принадлежит родительская подписка. |
productId | Обязательно. Неизменяемо. Идентификатор родительской подписки, к которой принадлежит это предложение. |
basePlanId | Обязательно. Неизменяемо. Идентификатор базового плана, расширением которого является это предложение. |
offerId | Обязательно. Неизменяемо. Уникальный идентификатор этого предложения подписки. Должен быть уникальным в рамках базового плана. |
state | Только вывод. Текущее состояние этого предложения. Можно изменить с помощью действий «Активировать» и «Деактивировать». Примечание: состояние базового плана заменяет это состояние, поэтому активное предложение может быть недоступно, если базовый план неактивен. |
phases[] | Обязательно. Фазы этого предложения подписки. Должны содержать не менее одной и не более двух записей. Пользователи всегда будут получать все эти фазы в указанном порядке. |
targeting | Требования, которым пользователи должны соответствовать для получения этого предложения. Представляют собой требования, которые Play будет оценивать при принятии решения о возврате предложения. Разработчики могут самостоятельно фильтровать эти предложения. |
regionalConfigs[] | Обязательно. Конфигурация этого предложения, специфичная для региона. Должна содержать хотя бы одну запись. |
otherRegionsConfig | Конфигурация для любых новых локаций Play может быть запущена в будущем. |
offerTags[] | Список из 20 пользовательских тегов, указанных для этого предложения и возвращенных в приложение через библиотеку биллинга. |
Состояние
Текущее состояние предложения подписки.
Перечисления | |
---|---|
STATE_UNSPECIFIED | Значение по умолчанию, никогда не следует использовать. |
DRAFT | Предложение подписки не доступно и никогда не было доступно пользователям. |
ACTIVE | Предложение подписки доступно новым и существующим пользователям. |
INACTIVE | Предложение подписки недоступно для новых пользователей. Существующие пользователи сохраняют доступ. |
ПодпискаОферФаза
Отдельная фаза предложения по подписке.
JSON-представление |
---|
{ "recurrenceCount": integer, "duration": string, "regionalConfigs": [ { object ( |
Поля | |
---|---|
recurrenceCount | Обязательно. Количество повторений этой фазы. Если эта фаза предложения платная, за каждое повторение с пользователя взимается плата за эту фазу предложения. |
duration | Обязательно. Длительность одного повторения этой фазы. Указывается в формате ISO 8601. |
regionalConfigs[] | Обязательно. Региональная конфигурация этой фазы предложения. Этот список должен содержать ровно одну запись для каждого региона, для которого у предложения подписки есть региональная конфигурация. |
otherRegionsConfig | Информация о ценах для новых локаций, где может запуститься Play. |
РегиональнаяПодпискаПредложениеФазаКонфигурация
Конфигурация для одной фазы предложения подписки в одном регионе.
JSON-представление |
---|
{ "regionCode": string, // Union field |
Поля | |
---|---|
regionCode | Обязательно. Неизменяемо. Регион, к которому применяется эта конфигурация. |
Поле объединения price_override . Переопределение цены для этой фазы. Обязательно. price_override может быть только одним из следующих: | |
price | Абсолютная цена, которую пользователь платит за эту фазу предложения. Цена не должна быть меньше минимальной цены, разрешенной для этого региона. |
relativeDiscount | Доля цены базового плана, пропорционально распределенная по продолжительности фазы, которую пользователь платит за эту фазу предложения. Например, если цена базового плана для этого региона составляет 12 долларов США за 1 год, то скидка 50% за фазу продолжительностью 3 месяца будет соответствовать цене 1,50 доллара США. Скидка должна быть указана как дробь, строго больше 0 и строго меньше 1. Полученная цена будет округлена до ближайшей расчетной единицы (например, центов для долларов США). Относительная скидка считается недействительной, если цена со скидкой оказывается меньше минимально допустимой цены в этом регионе. |
absoluteDiscount | Абсолютная сумма, вычитаемая из стоимости базового плана, пропорционально распределенная по продолжительности фазы, которую пользователь платит за эту фазу предложения. Например, если стоимость базового плана для этого региона составляет 12 долларов США за период в 1 год, то абсолютная скидка в 1 доллар США за фазу продолжительностью 3 месяца будет соответствовать цене в 2 доллара США. Полученная цена не может быть меньше минимальной цены, разрешенной для этого региона. |
free | Установите, чтобы указать, что это предложение можно получить бесплатно. |
РегиональнаяПодпискаПредложениеФазаБесплатнаяЦенаПереопределение
Этот тип не имеет полей.
Представляет собой конфигурацию бесплатного переопределения цены для одной фазы предложения подписки.
Другие регионыПодпискаПредложениеФазаКонфигурация
Конфигурация для любых новых локаций Play может быть запущена в рамках одной фазы предложения.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Поле объединения price_override . Переопределение цены для этой фазы. Обязательно. price_override может быть только одним из следующих: | |
otherRegionsPrices | Абсолютная цена, которую пользователь платит за эту фазу предложения. Цена не должна быть ниже минимальной цены, разрешенной для любых новых локаций, где может быть запущен Play. |
relativeDiscount | Доля цены базового плана, пропорционально распределенная по продолжительности фазы, которую пользователь платит за эту фазу предложения. Например, если цена базового плана для этого региона составляет 12 долларов США за 1 год, то скидка 50% за фазу продолжительностью 3 месяца будет соответствовать цене 1,50 доллара США. Скидка должна быть указана как дробь, строго больше 0 и строго меньше 1. Полученная цена будет округлена до ближайшей расчетной единицы (например, центов для долларов США). Относительная скидка считается недействительной, если цена со скидкой окажется меньше минимальной цены, разрешенной в любых новых регионах, где может быть запущен Play. |
absoluteDiscounts | Абсолютная сумма, вычитаемая из стоимости базового плана, пропорционально распределенная на период действия предложения. Например, если стоимость базового плана для этого региона составляет 12 долларов США в течение 1 года, то абсолютная скидка в 1 доллар США за период продолжительностью 3 месяца будет соответствовать цене 2 доллара США. Полученная цена не может быть ниже минимальной цены, разрешенной для любых новых локаций, где может быть запущен Play. |
free | Установите, чтобы указать, что это предложение можно получить бесплатно. |
Другие регионыПодпискаПредложениеФазаЦены
Информация о ценах для новых локаций, где может запуститься Play.
JSON-представление |
---|
{ "usdPrice": { object ( |
Поля | |
---|---|
usdPrice | Обязательно. Цена в долларах США будет использоваться для любых новых локаций, где может быть запущен Play. |
eurPrice | Обязательно. Цена в евро будет использоваться для любых новых локаций, где может быть запущен Play. |
Другие регионыПодпискаПредложениеФазаБесплатноЦенаПереопределение
Этот тип не имеет полей.
Представляет собой конфигурацию бесплатного переопределения цен для любых новых локаций, которые Play может запустить в течение одной фазы предложения.
ПодпискаПредложениеТаргетинг
Определяет правило, которому должен соответствовать пользователь, чтобы получить это предложение.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
rule поля «Union». Оставьте пустым, если предложение соответствует требованиям разработчика. rule может быть только одним из следующих: | |
acquisitionRule | Правило таргетинга предложения для привлечения новых пользователей. |
upgradeRule | Предложение правила таргетинга для обновления существующих планов пользователей. |
Правило таргетинга на приобретение
Представляет правило таргетинга в форме: Пользователь никогда раньше не имел {scope}.
JSON-представление |
---|
{
"scope": {
object ( |
Поля | |
---|---|
scope | Обязательно. Область действия этого правила. Разрешены только «эта подписка» и «любая подписка в приложении». |
TargetingRuleScope
Определяет объем подписок, которые правило таргетинга может сопоставлять с целевыми предложениями для пользователей на основе прошлых или текущих прав.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
| |
thisSubscription | Областью действия текущего правила таргетинга является подписка, в которой определено это предложение. |
anySubscriptionInApp | Областью действия текущего правила таргетинга является любая подписка в родительском приложении. |
specificSubscriptionInApp | Область действия текущего правила таргетинга — подписка с указанным идентификатором. Подписка должна быть в пределах того же родительского приложения. |
TargetingRuleScopeThisSubscription
Этот тип не имеет полей.
Представляет область действия правила таргетинга, соответствующую подпискам, в которых определено это предложение.
TargetingRuleScopeAnySubscriptionInApp
Этот тип не имеет полей.
Представляет область действия правила таргетинга, соответствующую любой подписке в родительском приложении.
UpgradeTargetingRule
Представляет правило таргетинга в форме: У пользователя в настоящее время есть {scope} [с расчетным периодом {billing_period}].
JSON-представление |
---|
{
"oncePerUser": boolean,
"scope": {
object ( |
Поля | |
---|---|
oncePerUser | Ограничить это предложение одним пользователем. Если установлено значение true, пользователь больше никогда не сможет воспользоваться этим предложением, если он когда-либо на него подписывался. |
scope | Обязательно. Область действия этого правила. Разрешены только «эта подписка» и «конкретная подписка в приложении». |
billingPeriodDuration | Продолжительность конкретного расчетного периода, указанная в формате ISO 8601, на который пользователь должен быть подписан, чтобы подпадать под это правило. Если не указано, учитываются пользователи, подписанные на любой расчетный период. |
РегиональнаяПодпискаОферКонфигурация
Конфигурация для предложения подписки в одном регионе.
JSON-представление |
---|
{ "regionCode": string, "newSubscriberAvailability": boolean } |
Поля | |
---|---|
regionCode | Обязательно. Неизменяемо. Код региона, к которому относится эта конфигурация, согласно ISO 3166-2, например, «США». |
newSubscriberAvailability | Доступно ли предложение подписки в указанном регионе для новых подписчиков. Подписка существующих подписчиков не будет отменена, если это значение равно false. Если значение не указано, по умолчанию будет установлено значение false. |
ДругиеРегионыПодпискаОферКонфигурация
Конфигурация для любых новых локаций, в которых Play может быть запущен, указана в предложении по подписке.
JSON-представление |
---|
{ "otherRegionsNewSubscriberAvailability": boolean } |
Поля | |
---|---|
otherRegionsNewSubscriberAvailability | Будет ли предложение подписки запущено в новых локациях Play в будущем? Если не указано иное, по умолчанию будет установлено значение «false». |
Методы | |
---|---|
| Активирует предложение подписки. |
| Читает одно или несколько предложений по подписке. |
| Обновляет пакет предложений по подписке. |
| Обновляет пакет состояний предложения подписки. |
| Создает новое предложение подписки. |
| Деактивирует предложение подписки. |
| Удаляет предложение подписки. |
| Читает одно предложение |
| Перечисляет все предложения в рамках данной подписки. |
| Обновляет существующее предложение подписки. |
Коды ошибок
Операции этого ресурса возвращают следующие коды ошибок HTTP:
Код ошибки | Причина | Разрешение |
---|---|---|
5xx | Общая ошибка на сервере Google Play. | Повторите запрос. Если проблема не устранена, обратитесь к менеджеру своего аккаунта Google Play или отправьте запрос в службу поддержки. Рекомендуем проверить панель состояния Play на наличие известных сбоев. |
409 | Ошибка параллельного обновления. Была попытка обновить обновляемый объект. Например, покупка подтверждается вызовом метода | Повторите запрос. |