# Introductory offer в App Store Connect: пробный период

> Introductory offer это бесплатный пробный период или скидка в начале подписки iOS, один раз на группу и Apple-аккаунт. Как создать и показать.

Оригинальная страница: [Introductory offer в App Store Connect: пробный период](https://devoria.fr/ru/blog/introductory-offer-app-store-connect-free-trial)
Автор: [Mehdi Azizi](https://devoria.fr/ru/mehdi-azizi)
Опубликовано: 2026-11-04
Последняя правка контента: 2026-11-04


Introductory offer, или вводное предложение, это стартовая цена автовозобновляемой подписки: бесплатный пробный период, оплата вперёд или оплата по мере использования. **Каждый клиент получает его только один раз на группу подписок**, поэтому твоё приложение должно проверить право на предложение, прежде чем писать «бесплатный пробный период». Создаётся оно на странице цен подписки, а пейвол должен чётко показывать длительность предложения и цену, которая будет списываться после.

В Solys и TradaZen бесплатные 7 дней привязаны к годовой подписке. У недельного тарифа пробного периода нет. Ниже три типа предложений, кто имеет на них право, как их создать и две ошибки с отображением, которые я сам допустил. Термин «стартовое предложение» часто означает то же самое, в том числе в моём гайде об [ошибках пейвола](https://devoria.fr/ru/blog/ios-paywall-oshibki-novichka).

## Что такое introductory offer?

[Справка App Store Connect](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/) определяет его как сниженную цену или бесплатный пробный период, ограниченный по времени, на первый период подписки. Касается это только автовозобновляемых подписок. Когда предложение заканчивается, подписка продлевается по обычной цене, если человек не отменил её раньше.

Предложение показывается на странице твоего приложения в App Store тем, у кого есть на него право. При покупке **Apple применяет его автоматически, если человек имеет на него право**. Твоя задача: не обещать на экране предложение, которое Apple не даст.

## Три типа вводных предложений

[Документация StoreKit](https://developer.apple.com/documentation/storekit/implementing-introductory-offers-in-your-app) описывает три режима оплаты. Вот каждый на вымышленном примере: годовая подписка за 39,99 € и месячная за 6,99 €. Это не цены ни одного из моих приложений.

| Тип                   | Вымышленный пример   | Платится в начале | Потом       |
| --------------------- | -------------------- | ----------------- | ----------- |
| Бесплатный период     | 7 дней бесплатно     | 0 €               | 39,99 €/год |
| Оплата вперёд         | 3 месяца за 9,99 €   | 9,99 € один раз   | 39,99 €/год |
| По мере использования | 2,99 €/мес, 3 месяца | 2,99 € в месяц    | 6,99 €/мес  |

А вот что должен говорить экран в каждом случае, с теми же вымышленными ценами:

- **Бесплатный период**: «7 дней бесплатно, затем 39,99 € в год». Во время пробного периода подписка уже началась, но до его конца ничего не списывается.
- **Оплата вперёд**: «9,99 € за первые 3 месяца, затем 39,99 € в год». Человек платит один раз за весь льготный период.
- **Оплата по мере использования**: «2,99 € в месяц в течение 3 месяцев, затем 6,99 € в месяц». Сниженная цена списывается каждый период.

**Во всех трёх случаях фраза содержит цену, которая будет списываться после предложения.**

## Кто имеет право на вводное предложение?

Справка Apple говорит прямо: одно предложение на подписку, но только одно вводное предложение на человека и на группу подписок. Документация StoreKit уточняет три случая:

- **новый подписчик** имеет право всегда;
- **бывший подписчик**, который вернулся, имеет право, если никогда не пользовался вводным предложением в этой группе;
- **текущий подписчик** права не имеет, даже если меняет тариф внутри той же группы.

Право привязано к Apple-аккаунту, с которого идёт оплата, а не к iPhone и не к аккаунту в твоём приложении. Тот, кто попробовал, отменил и переустановил приложение, права уже не имеет. При этом продукт продолжает анонсировать своё предложение: вот откуда берётся вводящее в заблуждение отображение.

Прямое следствие: **пробный период на недельном тарифе съел бы право на пробный период на годовом**, ведь оба в одной группе. Поэтому мои пробные периоды есть только на годовой подписке.

Ещё одно ограничение: в каждой стране может быть одно текущее вводное предложение и одно будущее. Если два предложения пересекаются, последнее созданное заменяет другое. В июле 2026 года в TradaZen я хотел на годовой подписке и скидку, и бесплатный период. Одно предложение за раз: либо то, либо другое. В итоге я создал вторую годовую подписку, подешевле, с пробным периодом.

## Создаём предложение в App Store Connect

Нужна роль Account Holder, Admin, App Manager или Marketing. Названия взяты из справки Apple:

1. В Apps открой своё приложение, затем Subscriptions в боковой панели.
2. Выбери группу, затем подписку.
3. В разделе Subscription Prices нажми View all Subscription Pricing, затем Set up Introductory Offer.
4. Выбери страны или регионы, затем даты начала и окончания. Если начинаешь сегодня, предложение стартует сразу.
5. Выбери Free, Pay up front или Pay as you go, затем длительность и цену.
6. App Store Connect предложит эквивалентные цены для 175 стран. Поправь их при необходимости и подтверди.

**Созданное предложение изменить нельзя**: чтобы поменять длительность или цену, удали его во вкладке Introductory Offers и создай заново. Изменение может доходить до sandbox до часа. [Документация RevenueCat](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers) также советует подождать до 24 часов, прежде чем решать, что предложение не применяется.

## Возможные длительности

Бесплатный период длится 3 дня, 1 или 2 недели, 1, 2, 3 или 6 месяцев или 1 год, независимо от длительности подписки. Оплата вперёд покрывает 1, 2, 3 или 6 месяцев или 1 год. Оплата по мере использования зависит от длительности подписки:

| Подписка  | По мере использования       |
| --------- | --------------------------- |
| 1 неделя  | от 1 до 12 недель           |
| 1 месяц   | от 1 до 12 месяцев          |
| 2 месяца  | от 2 до 12 месяцев, шагом 2 |
| 3 месяца  | 3, 6, 9 или 12 месяцев      |
| 6 месяцев | 6 или 12 месяцев            |
| 1 год     | 1 год                       |

В своих приложениях я выбрал 7 дней на годовой подписке. Это не правило Apple, а продуктовое решение, которое стоит пересмотреть по своим собственным метрикам.

## Показываем пробный период только тем, у кого есть право

Apple пишет об этом на той же странице справки: если показываешь предложение в приложении, убедись, что человек действительно может им воспользоваться. **Задай своему коду два вопроса**: есть ли у продукта бесплатный пробный период и есть ли ещё у этого человека на него право?

Ответ на первый читается из продукта. Осторожно: вводное предложение не обязательно бесплатное. В TradaZen у стандартной годовой подписки была оплата вперёд, то есть первый год дешевле, а пробный период жил на другой годовой подписке. Оба приходят как «вводное предложение». Поэтому мой код читает цену предложения: ноль означает пробный период, больше нуля означает платное предложение.

Второй вопрос задаётся стору. В Swift StoreKit 2 даёт [isEligibleForIntroOffer](https://developer.apple.com/documentation/storekit/product/subscriptioninfo/iseligibleforintrooffer), начиная с iOS 15. Apple уточняет, что это значение может быть true даже без настроенного предложения: отсюда и первый вопрос. С RevenueCat в приложении на Expo это `checkTrialOrIntroductoryPriceEligibility`, который возвращает «имеет право», «не имеет права», «нет предложения» или «неизвестно». Вот принцип на TypeScript:

```ts
import Purchases, {
  INTRO_ELIGIBILITY_STATUS as S,
  type PurchasesStoreProduct,
} from "react-native-purchases";

type Essai = "oui" | "non" | "doute";

export async function essaiGratuit(p: PurchasesStoreProduct): Promise<Essai> {
  if (!p.introPrice || p.introPrice.price > 0) return "non";
  try {
    const r = await Purchases.checkTrialOrIntroductoryPriceEligibility([
      p.identifier,
    ]);
    const statut = r[p.identifier]?.status;
    if (statut === S.INTRO_ELIGIBILITY_STATUS_ELIGIBLE) return "oui";
    if (statut === S.INTRO_ELIGIBILITY_STATUS_INELIGIBLE) return "non";
    if (statut === S.INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS)
      return "non";
    return "doute";
  } catch {
    return "doute";
  }
}
```

Главное здесь это случай «сомнение» (`"doute"`). RevenueCat описывает свою проверку как оценку по мере возможностей, а платёжный экран Apple в любом случае показывает реальные условия до подтверждения. При неизвестном статусе RevenueCat советует показывать обычную цену, чтобы никого не ввести в заблуждение.

Обратную сторону проблемы я узнал на TradaZen. Первая версия считала ошибку чтения отказом: люди, имевшие право на пробный период, его не видели. Сейчас мои приложения убирают пробный период только при чётком отказе стора: «не имеет права» или «нет предложения». При сомнении остаётся то, что показывает продукт. **Это компромисс, а не рекомендация RevenueCat**: если предпочитаешь осторожность, следуй их совету. В обоих случаях никогда не путай «не знаю» с «нет».

Если используешь пейволы RevenueCat, у каждого текста может быть версия для тех, кто имеет право на предложение, согласно их [странице о предложениях](https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls/supporting-offers). Остальная настройка описана в моём гайде [RevenueCat для подписки iOS](https://devoria.fr/ru/blog/revenuecat-podpiska-ios-prilozhenie).

## Что требует 3.1.2 на экране

[Guideline 3.1.2(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.2a) разрешает бесплатный пробный период на подписке при условии, что ты указываешь информацию, предусмотренную App Store Connect. [Страница Apple о подписках](https://developer.apple.com/app-store/subscriptions/) уточняет: в процессе покупки пробного периода чётко укажи его длительность и цену, которая будет списана в конце. Списываемая сумма также должна быть самым заметным ценовым элементом на экране.

Отказ, который Solys получил 10 октября 2026 года, говорил именно это: бесплатный пробный период, стартовая цена и расчётные цены должны оставаться второстепенными по отношению к списываемой сумме. **Пробный период можно анонсировать, но цена, которая спишется потом, должна оставаться самой читаемой ценой на экране.** Оба отказа и их исправление описаны в моём гайде о [guideline 3.1.2](https://devoria.fr/ru/blog/guideline-3-1-2-app-rejected-subscription).

Бывает и обратная ошибка: предлагать пробный период и не говорить об этом. Когда-то кнопки моих пейволов говорили «Продолжить». А в Solys «7 дней бесплатно» вообще было только в метке VoiceOver, а не видимым текстом.

## Тестируем предложение в sandbox

Купи подписку с sandbox-аккаунта: пробный период должен появиться на платёжном экране Apple. Чтобы заново пройти путь нового подписчика, выбери Clear Purchase History в настройках sandbox-аккаунта на iPhone. Согласно [документации Apple по sandbox](https://developer.apple.com/documentation/storekit/testing-in-app-purchases-with-sandbox), аккаунт после этого снова получает право на вводные предложения.

Проверь и аккаунт, который уже пользовался пробным периодом: пейвол не должен больше анонсировать ничего бесплатного. Если продукт вообще не загружается, прочитай мой гайд о статусе [Missing Metadata](https://devoria.fr/ru/blog/missing-metadata-app-store-connect-fix).

## Подключаем бесплатный пробный период без ошибок

[iOS & Android Kit](https://devoria.fr/ru/kits/ios) построен на стартовом коде моих приложений: онбординг, пейвол и подписки уже написаны, а его третий этап, «подключить деньги», проведёт тебя через настройку продуктов и пробного периода. Вся цепочка описана на странице [встроенная подписка iOS](https://devoria.fr/ru/expertise/ios-in-app-subscription). Если ещё сомневаешься в модели, начни с [подписка или разовая покупка](https://devoria.fr/ru/blog/subscription-or-one-time-purchase-ios-app).

Если готовишь свой первый релиз, [пройди бесплатную диагностику](https://devoria.fr/ru/diagnostic): она расставит шаги по порядку и пришлёт тебе мой чек-лист против отказов Apple. Чтобы подарить месяц или вернуть бывшего подписчика, читай продолжение в моём гайде о [кодах предложений](https://devoria.fr/ru/blog/offer-codes-app-store-connect-promo-code).

## Частые вопросы

### Что такое introductory offer в App Store?

Это стартовая цена автовозобновляемой подписки: бесплатный пробный период, оплата вперёд или оплата по мере использования. Создаётся в App Store Connect, и Apple автоматически применяет её при покупке для тех, кто имеет право. Затем подписка переходит на обычную цену.

### Может ли пользователь получить два бесплатных пробных периода?

Не в одной группе подписок: одно вводное предложение на группу и на Apple-аккаунт. Переустановка приложения право не возвращает. А вот если он подпишется в другой группе твоего приложения, то сможет воспользоваться предложением этой группы.

### Можно ли совместить бесплатный пробный период и скидку?

Не на одной подписке одновременно: в каждой стране только одно текущее вводное предложение. Можно создать вторую подписку с другим предложением или использовать код предложения, который в зависимости от настроек может идти следом за вводным предложением.

### Нужна ли новая версия приложения, чтобы добавить пробный период?

Для самого предложения нет: оно настраивается в App Store Connect и применяется при покупке. Но если в коде пейвола жёстко прописано «7 дней», его придётся обновить. Читай длительность из продукта, который возвращает стор, и экран подстроится сам.

### Имеет ли бывший подписчик право на бесплатный пробный период?

Да, если он никогда не пользовался вводным предложением в этой группе подписок. Если уже пользовался, права больше нет, даже спустя месяцы. Чтобы вернуть его, у Apple есть win-back offers и promotional offers.


## Твой проект

[iOS & Android Kit](https://devoria.fr/ru/kits/ios): Создай своё приложение для iPhone и Android с Claude Code: стартовый код моих приложений, путь до публикации в сторах и все киты. 109 $.

[Диагностика: что отделяет тебя от твоего iPhone-приложения](https://devoria.fr/ru/diagnostic): 7 вопросов, 60 секунд: ты узнаешь, что на самом деле мешает тебе опубликовать iPhone-приложение, получишь путь из 4 этапов и подходящий тебе кит.
