What’s new in Apphud: Paywall Analytics, Stripe Web Payments Support and Xiaomi SDKLet’s see
Apphud
Why Apphud?PricingContact
Ren
Ren
June 21, 2019
1 min read

Руководство по вводным предложениям (Introductory Offers) в iOS.

Вводные предложения это отличный способ привлечь новых пользователей в ваше классное приложение. Все люди любят скидки – так почему бы вам не предложить пользователям то, чего они ждут? Скидку.

Руководство по вводным предложениям (Introductory Offers) в iOS.

Apple разработала механизм вводных предложений именно для этого.

Разновидности вводных предложений

Мы уже немного касались вводных предложений в нашей предыдущей статье. Если вы читали ее, то можете пропустить этот блок.

До недавнего времени (а именно до iOS 10) Apple предлагала только один тип вводных предложений – бесплатный триальный период. Сейчас этот список расширился до трех: бесплатный триальный период, оплата по факту использования (Pay as you go) и предоплата (Pay up front).

Оплата по факту использования (Pay as you go)

Эта модель оплаты предусматривает единовременную скидку на один или несколько платежных периодов. По окончании этих периодов с пользователя будет списана обычная стоимость подписки. Например, пользователю может быть предложено оформить подписку на сервис стоимостью $3.99 в месяц. Эта цена будет действовать 2 месяца, по окончании которых он сможет продолжить пользоваться сервисом по обычной цене $9.99 в месяц.

Пример оплаты по факту использованияПример оплаты по факту использования

Цена этого предложения по факту использования обязательно должна быть ниже обычной цены подписки. Например, вы не можете предложить пользователю платить $19.99/месяц в течение первых двух месяцев, а после — $9.99 в месяц.

В таблице ниже приведены возможные значения длительности начального периода в зависимости от длительности самой подписки:

Доступные длительности Pay as you goДоступные длительности Pay as you go

Предоплата (Pay up front)

В этой модели вы предлагаете пользователю заплатить сразу за несколько месяцев (1, 2, 3, 6 или 12) вперед. По окончании этого периода пользователь будет оплачивать подписку по стандартным условиям. Например, вы можете предложить оплатить подписку за облачное хранение данных сразу на 3 месяца вперед со скидкой за $14.99. А через 3 месяца пользователь будет платить $9.99 в месяц. Есть 2 существенных отличия этой модели от Оплаты по факту использования:

  • Стоимость предоплаты не обязательно должна быть меньше стоимости основной подписки.
  • Число периодов действия предложения всегда равно 1. Иными словами, предложение действует в течение только одного периода длительностью 1, 2, 3, 6 или 12 месяцев.
Схема работы предоплатыСхема работы предоплаты

Бесплатный триал

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

Некоторые замечания

  • Каждая подписка может иметь только одно вводное предложение на 1 территорию (страну). Таким образом, вы можете создать отдельное вводное предложение для каждой территории. Но только одно на каждую территорию. Чаще всего создают одно вводное предложение сразу для всех стран.
  • Пользователь может использовать вводное предложение в каждой группе подписок только один раз.
  • Вводные предложения доступны начиная с iOS 10, macOS 10.12.6 и tvOS 10

Как создать вводное предложение?

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

Откройте App Store Connect, перейдите в секцию “Features” и выберите нужную подписку:

Список подписок<br>Список подписок<br>

В разделе “Subscription Prices” нажмите на “+” и выберите в выпадающем списке “Create Introductory Offer”:

Настройки подпискиНастройки подписки

Выберите территории (страны), на которые будет распространяться предложение:

Выбор территории для подпискиВыбор территории для подписки

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

Введите даты начала и окончания предложения:

Начало и окончание подпискиНачало и окончание подписки

Выберите один из трех типов вводного предложения:

Тип вводного предложенияТип вводного предложения

В зависимости от выбранного типа введите следующие данные:

  • Pay as you go, Pay up front: число периодов и базовую стоимость вводного предложения.
  • Триал: длительность триала.

Если вы создаете предложение по типу Pay as you go или Pay up front, на следующем экране можете настроить стоимость предложения по каждой территории, на которой она действует:

Стоимость вводного предложенияСтоимость вводного предложения

Сохраните изменения. Круто! Ваше предложение создано и активно.

API вводных предложений

В Apple разработали специальный класс для работы с вводными предложениями: SKProductDiscount. Этот класс включен в библиотеку StoreKit, отвечающую за работу со встроенными покупками. Отныне каждый продукт (объект класса SKProduct) содержит опциональный атрибут introductoryPrice (он опциональный, потому что вводное предложение может и не существовать для этой подписки) типа SKProductDiscount.

SKProductDiscount содержит информацию о предложении:

  • paymentMode – тип вводного предложения. Возможные значения: payAsYouGo, payUpFront, freeTrial.
  • price и priceLocale – стоимость и локаль вводного предложения.
  • numberOfPeriods – число периодов вводного предложения. Для Pay up front и триала это значение всегда равно 1.
  • subscriptionPeriod – длительность периода вводного предложения. Например, день, неделя, месяц или год.

Вы можете использовать это API для правильного отображения условий предложения пользователю: в том числе его длительности и цены.

Не отображайте пользователю предложение, если он не вправе его использовать. Крайне важно предварительно проверить, может ли он им воспользоваться.

Проверка права пользователя на вводное предложение

Перед тем, как показывать пользователю вводное предложение, вы должны удостовериться в том, что пользователь сможет им воспользоваться. Дело в том, что каждый пользователь может воспользоваться предложением только один раз в каждой группе подписок. Например, если в вашем приложении есть три тарифных плана: Bronze, Silver и Gold, которые находятся в одной группе продуктов, и каждый из которых предлагает бесплатный недельный триал, то пользователь сможет активировать только один из трех триалов. И воспользоваться триалом лишь единожды (в пределах одной группы подписок). Если он однажды это уже сделал, то мы не можем показать ему, как и остальным пользователям, экран с предложением попробовать приложение бесплатно в течение недели. Вместо этого мы должны сразу отправить его на экран с оформлением платной подписки.

Следить за этим – задача разработчика.

Вот тут начинается самое интересное ?. В `StoreKit` нет методов, позволяющих узнать, может ли пользователь воспользоваться вводным предложением или нет. Единственный вариант – это сохранять где-то (например, на сервере) чеки (receipts) от всех подписок этого пользователя по каждой группе покупок. И всякий раз, когда требуется проверить право пользователя на вводное предложение какой-то подписки, просматривать все транзакции каждого чека, принадлежащего нужной группе подписок, в поисках полей is_trial_period и is_in_intro_offer_period. Если где-то это значение равно 1, то пользователь уже воспользовался триалом/вводным предложением в этой группе подписок.

Потно, правда? Чтобы реализовать это, вам потребуется собственный сервер, на который вы будете передавать данные обо всех покупках пользователя. А всего-то нужно просто узнать, пользовался ли этот пользователь когда-то вводным предложением или нет.

Вы можете использовать Apphud для точного анализа встроенных подписок и аналитики в реальном времени. Зарегистрируйтесь и начните пользоваться Apphud уже сейчас!

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

Некоторые замечания

  • Всегда проверяйте, вправе ли пользователь воспользоваться предложением перед тем, как, например, показывать ему экран триального периода.
  • Эту проверку лучше проводить как можно раньше: любая задержка при показе экрана подписки может сказаться на конверсии в покупку.
  • Вводные цены отображаются в App Store и их можно использовать как маркетинговый инструмент. Так пользователи могут начинать триал или активировать вводное предложение, прямо в App Store:
Вы можете рекламировать подписки прямо в App StoreВы можете рекламировать подписки прямо в App Store
  • Всегда четко и правильно формулируйте условия подписки и вводных предложений, чтобы избежать удаления приложения из App Store. Для этого используйте API вводных предложений.
  • Показывайте вводное предложение пользователю как можно раньше: таким образом вы расширите воронку и увеличите конверсию в подписки.
  • Вы можете (хотя это необязательно) указать в интерфейсе приложения ссылку на управление подписками, перейдя по которой пользователь сможет ее изменить: https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions

Заключение

Вводные предложения – это замечательный инструмент, позволяющий привлечь новых пользователей. Вкупе со сниженной до 15% комиссии Apple для лояльных пользователей это поможет значительно увеличить заработок вашего приложения. Но к сожалению, чтобы его корректно использовать, придется изрядно повозиться с настройкой собственного сервера.

Ren
Ren
Co-founder at Apphud
Ex iOS app and game developer. 11 years in the industry since iOS 3. More than 50 apps are in the background with 4 exits. Entrepreneur and traveler.

Related Posts