Offer codes в App Store Connect: как создать промокод
Автор: Mehdi Azizi
Опубликовано , 8 мин
С марта 2026 года offer codes заменили промокоды для встроенных покупок: уникальные или свои коды, активация по ссылке, в App Store или в приложении.
В App Store Connect промокод на подписку или встроенную покупку теперь называется кодом предложения, или offer code. С 26 марта 2026 года Apple больше не позволяет создавать промокоды для встроенных покупок: они нужны только для того, чтобы подарить скачивание платного приложения. Ты создаёшь предложение для своего продукта, а потом уникальные коды или один свой код. Человек активирует его по ссылке, в App Store или прямо в твоём приложении.
Мои приложения бесплатные для скачивания и продают подписки, так что промокоды на приложение мне ничего не дают. Поэтому в коде TradaZen реферальная программа награждает кодом предложения, и приложение само открывает активацию кода. Ниже: что изменилось, таблица предложений Apple, создание кодов, их активация и то, что запрещает правило 3.1.1.
Промокоды и коды предложений: что изменилось в 2026 году
Apple объявила об этом 29 октября 2025 года в своих новостях для разработчиков: коды предложений теперь работают для всех встроенных покупок. К автовозобновляемым подпискам добавились расходуемые, нерасходуемые покупки и невозобновляемые подписки. Как следствие, с 26 марта 2026 года создать промокод для встроенной покупки уже нельзя. Созданные раньше продолжают работать до истечения срока.
А вот промокоды на приложение никуда не делись. Согласно справке App Store Connect, они дают бесплатную копию платного приложения. Каждый код используется один раз и действует четыре недели. Можно запросить до 100 штук на версию и платформу через Promo Codes в боковой панели приложения. Тот, кто его использует, не может ни оценить приложение, ни оставить отзыв.
Для бесплатного приложения с подпиской промокод на приложение ничего не дарит: дарить нужно подписку, через код предложения.
Предложения Apple: для кого и как их получить
Вот предложения Apple вокруг подписки плюс промокод на приложение, в таблице, которую я держу под рукой, чтобы выбирать:
| Тип предложения | Для кого | Как получить |
|---|---|---|
| Вводное предложение | Новые подписчики группы | Автоматически при покупке |
| Уникальный код предложения | Конкретный человек | Ссылка, App Store или приложение |
| Свой код | Кампания, аудитория | Ссылка или ввод в приложении |
| Промо-предложение | Текущие или бывшие подписчики | Показывает твоё приложение |
| Предложение для возврата | Бывшие подписчики | Настройки, App Store, приложение |
| Промокод на приложение | Только платное приложение | Ввод в App Store |
Коды предложений созданы для того, чтобы ты раздавал их сам, вне приложения: по e-mail, на своём сайте, на мероприятии, автору контента. Остальные предложения в основном показываются сами или в твоём приложении, по правилам, которые ты задаёшь. У вводного предложения, того самого бесплатного пробного периода, есть отдельный гайд: introductory offer и бесплатный пробный период.
Создание кодов предложений для подписки
Процедура из справки по кодам предложений для подписок идёт в два этапа: предложение, потом коды. Названия взяты из справки Apple.
1. Предложение. В Subscriptions открой группу, затем подписку. В Subscription Prices нажми кнопку «плюс», затем Create Offer Codes. Дальше:
- задай справочное имя, ты увидишь его в отчётах о продажах;
- выбери, продлевается ли подписка после окончания предложения; без продления возможно только бесплатное предложение;
- отметь, кто имеет право: новые подписчики, текущие подписчики, бывшие подписчики группы;
- если у подписки есть вводное предложение, выбери, получает ли человек сначала его, а потом предложение по коду, или только код;
- выбери страны, затем бесплатно, оплата вперёд или по мере использования, с длительностью и ценой.
Созданное предложение больше не редактируется. Чтобы изменить условия, создай новое.
2. Коды. Два типа, генерируются на странице предложения:
- Уникальные коды: один код на человека, создаются пачками от 500 до 25 000. Истекают не позже чем через шесть месяцев после создания. Ты скачиваешь файл с кодами и их ссылками.
- Свои коды: слово, которое ты выбираешь сам, до 64 символов без спецсимволов, например SEPTEMBER (вымышленный пример). Ты задаёшь, сколько человек могут его использовать, до 25 000 на пачку, и необязательную дату окончания.
Общие лимиты: миллион кодов на приложение в квартал, десять активных предложений на подписку, один код на предложение на человека. Код может стать рабочим только через час. И главное: твоё приложение должно быть в продаже, чтобы коды активировались. Подарить подписку до релиза нельзя.
Для тестов Apple предусматривает sandbox-коды, от 10 до 10 000 на пачку, которые активируются в настройках sandbox-аккаунта на iOS 16.3 или новее.
Коды предложений для разовой покупки или кредитов
Страница о кодах предложений для встроенных покупок следует той же логике. В In-App Purchases открой покупку, затем Create Offer в разделе Offer Codes. Право на предложение зависит от истории покупок в твоём приложении: никогда не покупал, покупал за последние 30 дней или больше 30 дней назад. Предложение бесплатное или платное.
Чтобы генерировать коды, приложение должно быть в продаже, а покупка одобрена. У приложения может быть не больше десяти активных предложений одновременно. Активация в приложении требует iOS 16.3 или новее.
Как пользователь активирует код
Документация StoreKit описывает три пути:
- Ссылка для активации. App Store Connect даёт пример ссылки на странице предложения, к которой ты добавляешь код. Если приложение не установлено, человеку сначала предложат его скачать.
- App Store. Уникальный код вводится на странице Redeem Gift Card or Code в аккаунте. Свой код при этом работает только через ссылку или твоё приложение.
- Твоё приложение. На Swift это
offerCodeRedemptionв SwiftUI илиpresentOfferCodeRedeemSheetв UIKit. С RevenueCat в приложении на Expo этоpresentCodeRedemptionSheet.
Документация RevenueCat приводит формат ссылки: https://apps.apple.com/redeem?ctx=offercodes&id={apple_app_id}&code={code}. Ещё она предупреждает, что окно активации Apple с момента запуска работает очень нестабильно, и предлагает ссылку как запасной вариант. Вот принцип на TypeScript:
import { Linking } from "react-native";
import Purchases from "react-native-purchases";
const PAGE_ECHANGE = "https://apps.apple.com/redeem";
export async function echangerUnCode(): Promise<void> {
try {
await Purchases.presentCodeRedemptionSheet();
} catch {
await Linking.openURL(PAGE_ECHANGE); // запасной вариант, если окно не сработало
}
}
Окно не возвращает никакого результата. Доступ приходит потом, как после покупки, через слушатель addCustomerInfoUpdateListener, который в твоём приложении уже есть. Чтобы RevenueCat правильно учитывал выручку с этих кодов, ему нужен твой ключ In-App Purchase.
Именно такая схема подготовлена в коде TradaZen. Чтобы использовать реферальную награду, приложение открывает ссылку с уже подставленным кодом: это надёжнее окна, где код пришлось бы перепечатывать. Чтобы ввести полученный код, оно открывает нативное окно, а запасным вариантом служит страница активации в App Store. Код, который человек не знает, куда ввести, бесполезен: страница аккаунта App Store спрятана, и ничто на неё не указывает. Кнопка «У меня есть код» в твоём приложении решает проблему.
Промо-предложения и предложения для возврата, коротко
Эти два предложения не работают через коды, которые ты раздаёшь, но решают ту же задачу: вернуть или удержать подписчика.
Промо-предложение нацелено на текущих или бывших подписчиков. Ты сам решаешь в приложении, когда его показать, например тому, кто собирается отменить подписку. Согласно справке по промо-предложениям, активных может быть десять на подписку. Они действуют во всех странах подписки, и человек имеет на них право, даже если уже получал вводное предложение. Для подписи предложения нужен ключ In-App Purchase.
Предложение для возврата, или win-back, нацелено на бывших подписчиков. Справка по предложениям для возврата описывает критерии: минимальный срок оплаченной подписки, время с момента окончания, пауза между двумя предложениями. Apple сама показывает его на странице управления подписками, а в твоём приложении на iOS 18 или новее. Ещё она генерирует ссылку, которой можно поделиться, но отправлять её стоит только тем, у кого есть право. Чтобы предложение появилось в App Store, его нужно продвигать с одобренным изображением подписки, которое не повторяет ни иконку, ни скриншоты. Об этом я пишу в гайде про промо-изображение подписки.
Что запрещает правило 3.1.1
Guideline 3.1.1 требует встроенную покупку, чтобы разблокировать функцию или контент. Она запрещает самодельные механизмы вроде лицензионных ключей или QR-кодов. Придуманный тобой код, который вводится в поле приложения для разблокировки премиума, грозит отказом по 3.1.1, даже если он бесплатный. А коды предложений Apple как раз идут через встроенную покупку. Правило целиком разобрано в моём гайде по guideline 3.1.1.
Ещё один момент про реферальную программу: guideline 5.1.2 запрещает требовать включения уведомлений, геолокации или отслеживания ради награды, включая коды. Значит, награда не может зависеть от этих разрешений. Подробности в гайде по guideline 5.1.2.
Как подарить подписку и не ошибиться с инструментом
До релиза, чтобы дать попробовать приложение бесплатно, используй TestFlight: покупки там идут через тестовую среду, без списания денег. После релиза используй коды предложений. Настройка самой подписки описана в статье RevenueCat для подписки на iOS.
iOS & Android Kit построен на стартовом коде моих приложений: онбординг, paywall и подписки уже написаны, а его третий этап, «подключить деньги», проведёт тебя через их настройку. Вся цепочка есть на странице подписка в приложении iOS. Если готовишь первый релиз, пройди бесплатную диагностику: она расставит шаги по порядку и пришлёт тебе мой чек-лист против отказов Apple.
Частые вопросы
Как сгенерировать промокод в App Store Connect?
Для платного приложения открой Promo Codes в боковой панели приложения: до 100 кодов на версию, действуют четыре недели. Для подписки или встроенной покупки создай предложение для продукта через Create Offer Codes или Create Offer, затем сгенерируй уникальные коды или свой код.
Чем промокод отличается от кода предложения?
Промокод дарит скачивание платного приложения. Код предложения даёт подписку или встроенную покупку, бесплатно или со скидкой, на выбранный срок. С 26 марта 2026 года для встроенной покупки можно создать только код предложения.
Сколько кодов предложений можно создать?
До миллиона на приложение в квартал, по всем продуктам вместе. Уникальные коды создаются пачками от 500 до 25 000, а свой код допускает до 25 000 использований на пачку. У подписки может быть не больше десяти активных предложений одновременно.
Можно ли использовать код предложения до релиза приложения?
Нет: приложение должно быть в продаже, чтобы коды активировались. До релиза используй TestFlight для тестировщиков и sandbox-коды, чтобы проверить активацию в приложении.
Может ли текущий подписчик использовать код предложения?
Да, если ты отметил текущих подписчиков в условиях предложения. Страница Apple о подписках уточняет, что он может активировать только код того же уровня, что и его подписка, или выше.
Где пользователь вводит код предложения?
По ссылке для активации, на странице Redeem Gift Card or Code своего аккаунта App Store для уникального кода или в твоём приложении, если ты добавил туда окно активации. Свой код работает через ссылку или приложение.

