Создание продукта

То, как вы создаёте продукты в Adapty, зависит от того, есть ли они уже в сторах:

Чтобы пользователи App Store могли оплачивать годовую подписку в 12 ежемесячных платежей, сначала создайте продукт Annual. Затем откройте его для редактирования и добавьте план обязательства на 12 месяцев.

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

Tip

Продукты также можно создавать программно с помощью Developer CLI.

Создание продукта и его публикация в сторе

Warning

Перед началом убедитесь, что вы настроили интеграцию с нужными сторами:

Если интеграция с App Store была настроена давно, убедитесь, что вы добавили ключ App Store Connect API.

Чтобы добавить новый продукт в ваше приложение:

  1. Перейдите в раздел Products в главном меню Adapty.
products-tab.webp
  1. Нажмите Create product в правом верхнем углу. Adapty поддерживает все типы продуктов: подписки, нерасходуемые (включая пожизненный доступ) и расходуемые покупки.

  2. Выберите Create a new product and push to stores.

push-to-stores.webp
  1. Введите следующие данные:
    • Product name: введите название продукта, которое будет использоваться в дашборде Adapty. Название нужно прежде всего вам для удобства — выбирайте то, с которым вам будет комфортно работать в дашборде Adapty.
    • Access Level: выберите уровень доступа, к которому относится продукт. Уровень доступа определяет, какие функции открываются после покупки продукта. Обратите внимание, что в списке отображаются только ранее созданные уровни доступа. Уровень доступа premium создаётся в Adapty по умолчанию, но вы можете добавить дополнительные уровни доступа.
    • Subscription duration: выберите длительность подписки из списка. После создания продукта изменить её нельзя.
      • Weekly/Monthly/2 Months/3 Months/6 Months/Annual: длительность подписки. Adapty не отправляет 12-месячные тарифные планы с обязательствами в App Store Connect. Чтобы предложить такой план, создайте подписку в App Store Connect и подключите её.
      • Lifetime: используйте пожизненный период для продуктов, которые навсегда открывают премиум-функции приложения.
      • Non-Subscriptions: для разовых покупок без срока действия. Такая покупка не предоставляет уровень доступа — она появляется в массиве nonSubscriptions профиля пользователя, и приложение само решает, что разблокировать.
      • Consumables: расходуемые покупки можно приобретать многократно и использовать в течение жизненного цикла приложения. Примеры — внутриигровая валюта и дополнения. Расходуемая покупка также не предоставляет уровень доступа. Чтобы предоставить уровень доступа при разовой покупке, используйте Lifetime.
    • Price (USD): цена продукта в долларах США. Она будет использоваться как базовая для автоматического расчёта и установки цен во всех странах. Вы сможете настроить цену для отдельных стран и регионов позже.
create-product-push.webp
  1. Нажмите Save & Continue.
  2. Настройте информацию о продукте для App Store, если планируете публиковаться там:
    • Product ID: Создайте постоянный уникальный идентификатор продукта.
    • Product group: Выберите существующую группу продуктов, созданную в App Store Connect, или нажмите Create new Product Group и задайте её название. После того как Adapty создаст её, вы сможете выбрать её из выпадающего списка.
    • Screenshot: Загрузите скриншот встроенной покупки, на котором чётко показан предлагаемый товар или услуга. Этот скриншот используется только для проверки в App Store и не отображается в App Store. Требования к размеру и формату скриншота смотрите здесь.
push-app-store.webp
  1. Нажмите Push data to App Store.
Warning

Если это ваш первый продукт для данного приложения, вам нужно вручную отправить его на проверку в App Store Connect. В дальнейшем этого не потребуется. После завершения проверки статус продукта в Adapty обновится автоматически.

  1. Настройте информацию о продукте для Google Play, если планируете публикацию там:
    • Base Product ID: Создайте постоянный уникальный идентификатор продукта.
    • Subscription: Выберите существующую группу подписок, созданную в Google Play Console, или нажмите Create new Product Group и задайте её название и ID. После того как Adapty создаст её, вы сможете выбрать её из выпадающего списка.
    Note

    Льготный период и период удержания аккаунта будут автоматически установлены по умолчанию согласно правилам Play Store. Изменить их можно позже в Google Play Console.

push-google-play.webp
  1. Нажмите Push data to Play Store.
  2. Для iOS настройте introductory offer — бесплатный пробный период — выбрав Free duration из выпадающего списка. На этом начальном этапе можно добавить introductory offer с бесплатным пробным периодом. После того как основной продукт будет одобрен сторами, вы сможете добавить другие офферы (например, promotional или win-back), привязав их существующие ID из консоли стора.
intro.webp
Important

Introductory offer не синхронизируются с Google Play автоматически. В отличие от App Store, в Google Play нет отдельного типа «introductory offer» — пробные периоды и скидочные предложения настраиваются как офферы базового плана. Создайте оффер в Google Play Console и привяжите его к продукту Adapty.

  1. Наконец, нажмите Save, чтобы подтвердить создание продукта.

Создайте продукт и подключите существующие продукты стора

Warning

Прежде чем начать, убедитесь, что вы:

Если у вас ещё нет созданных продуктов, рекомендуем воспользоваться гайдом Опубликовать в сторы — так вы создадите продукты одновременно в Adapty и в сторах.

Чтобы добавить новый продукт в ваше приложение:

  1. Перейдите в раздел Products из главного меню Adapty.
products-tab.png
  1. Нажмите Create product в правом верхнем углу. Adapty поддерживает все типы продуктов: подписки, нерасходуемые покупки (включая пожизненный доступ) и расходуемые покупки.

  2. Выберите Connect an existing store product.

existing-product.webp
  1. Введите следующие данные:

    • Product name: введите название продукта, которое будет использоваться в дашборде Adapty. Это название служит прежде всего для вашего удобства, поэтому выбирайте то, с которым вам комфортно работать в дашборде Adapty.

    • Access Level ID: Выберите уровень доступа, к которому относится продукт. Уровень доступа определяет, какие функции открываются после покупки продукта. Обратите внимание, что в этом списке отображаются только ранее созданные уровни доступа. Уровень доступа premium создаётся в Adapty по умолчанию, но вы также можете добавить дополнительные уровни доступа.

    • Subscription duration: выберите длительность подписки из списка. После создания продукта изменить её нельзя.

      • Weekly/Monthly/2 Months/3 Months/6 Months/Annual: длительность подписки. Чтобы добавить 12-месячный план с рассрочкой, выберите Annual и настройте рассрочку после создания продукта.
      • Lifetime: используйте период «Lifetime» для продуктов, которые навсегда открывают премиум-функции приложения.
      • Non-Subscriptions: для разовых покупок без срока действия. Такая покупка не предоставляет уровень доступа — она отображается в массиве nonSubscriptions профиля пользователя, и приложение само решает, что разблокировать.
      • Consumables: расходуемые покупки можно совершать несколько раз и использовать в течение жизненного цикла приложения. Примеры: внутриигровая валюта и дополнения. Расходуемая покупка также не предоставляет уровень доступа. Чтобы предоставить уровень доступа за разовую покупку, используйте Lifetime.
    • Price (USD): цена продукта в USD. Если продукт уже добавлен в стор, это значение не влияет на фактическую цену в сторе — можно выбрать любое значение из списка. В дальнейшем можно задать цены для отдельных регионов прямо в дашборде Adapty.

product-info.webp
  1. Нажмите Continue.

  2. Настройте информацию о продукте из каждого стора:

    • App Store:
      • App Store Product ID: Уникальный идентификатор для доступа к продукту на устройствах. Выберите его из списка. Если его нет в списке, проверьте настройки в App Store Connect и убедитесь, что идентификатор корректен и принадлежит этому приложению.
    • Play Store:
      • Google Play Product ID: Идентификатор продукта в Play Store. Выберите его из списка. Если его нет в списке, проверьте настройки в Google Play Console и убедитесь, что идентификатор корректен и принадлежит этому приложению.
      • Base Plan ID: Идентификатор базового плана продукта в Play Store. При добавлении Product ID подписки в Play Store необходимо указать Base Plan ID. Базовый план определяет основные параметры подписки: расчётный период, тип продления (автоматическое или предоплаченное) и цену. Обратите внимание: в Adapty каждая комбинация одной и той же подписки с разными базовыми планами считается отдельным продуктом.
      • Legacy fallback product: Резервный продукт используется исключительно в приложениях на устаревших версиях Adapty SDK (2.5 и ниже). Отметив продукт как обратно совместимый в Google Play Console, вы позволяете Adapty определить, можно ли его приобрести в старых версиях SDK. В этом поле укажите значение в формате <subscription_id>:<base_plan_id>.
    • Stripe:
      • Stripe Product ID: Уникальный идентификатор продукта в Stripe.
      • Stripe Price ID: В Stripe объекты цен содержат не только сумму — они также включают поведение налогов, объёмные тарифы и интервалы подписки. Поскольку у одного продукта может быть несколько цен, при создании продукта в Adapty укажите нужный идентификатор цены.
    • Paddle:
      • Paddle Product ID: Уникальный идентификатор продукта в Paddle.
      • Paddle Price ID: В Paddle объекты цен содержат не только сумму — они также включают поведение налогов, объёмные тарифы и интервалы подписки. Поскольку у одного продукта может быть несколько цен, при создании продукта в Adapty укажите нужный идентификатор цены.
Warning

Каждый ID продукта в сторе должен точно совпадать с тем, что указано в сторе. Несоответствие не вызывает ошибку: покупка проходит, но пользователь не получает уровень доступа.

  1. Опционально: вы можете добавить продукты из любого стороннего стора, нажав Add custom store. В окне Manage custom store info можно выбрать существующий кастомный стор или добавить новый и привязать к нему продукт. Имейте в виду, что Adapty отслеживает транзакции только из App Store, Google Play и Stripe. Для кастомных сторов вам нужно будет отправлять транзакции через метод Set transaction серверного API Adapty.

  2. Нажмите Save product, чтобы завершить создание продукта. Синхронизация статуса продукта может занять до пяти минут — подождите, пока данные обновятся в таблице.

  3. При необходимости вы можете создать офферы для продукта. Чтобы добавить офферы, нажмите Yes, add offers. В противном случае нажмите No, thanks.

Note

Introductory offers создаются в Adapty только при публикации продукта в сторе. При импорте или для ранее созданных продуктов introductory offers не синхронизируются и не отображаются в Adapty, однако в приложении будут работать корректно.

Дальнейшие шаги

Поздравляем! Вы добавили продукты в Adapty. Что дальше?

  • Если вы ещё не настроили introductory/promotional офферы, вы можете сделать это сейчас.
  • Если офферы уже настроены или вы решили пропустить этот шаг, переходите к настройке пейволов для включения встроенных покупок.
  • Если нужно внести изменения в продукты стора (например, установить региональные цены или настроить льготный период), сделайте это в App Store Connect или Google Play Console.
  • Прочитайте, как можно редактировать продукты позже.