Подключение FunnelFox к Adapty
FunnelFox создаёт веб-воронки: лендинги и квизы, которые продают ваши подписки за пределами App Store и Google Play. Подключите FunnelFox к Adapty, чтобы пользователи, совершившие покупку в интернете, получали доступ к платным функциям в вашем мобильном приложении, а их покупки отображались в том же дашборде, что и покупки из сторов.
Подключение требует один ключ и один идентификатор уровня доступа. После этого ваше приложение должно идентифицировать покупателя, чтобы предоставить ему этот уровень доступа. См. Предоставление доступа в приложении.
Как работает интеграция
FunnelFox собирает оплату на сайте. Затем FunnelFox вызывает Server-side API Adapty, чтобы создать профиль, записать транзакцию и предоставить уровень доступа, ID которого вы указываете в настройках интеграции FunnelFox. Продления, отмены и неудачные платежи обновляют тот же профиль. Веб-покупки отображаются в аналитике Adapty рядом с доходами из App Store и Google Play.
Создайте соответствующий продукт в Adapty для каждого продукта, который продаёт ваша воронка. Покупка в любом случае попадёт в Adapty, но без продукта Adapty не знает длительность подписки, поэтому аналитика может показать неверную длительность или оставить покупку без категории.
Adapty связывает веб-покупку с пользователем приложения по customer user ID. По умолчанию FunnelFox использует в качестве этого ID email-адрес, введённый при оформлении заказа.
Если ваша воронка выставляет счета через Stripe или Paddle, подключать этого провайдера к Adapty отдельно не нужно. Подключайте его только в том случае, если вы также продаёте через него за пределами своих воронок — Adapty дедуплицирует транзакции, поступающие из обоих источников.
Чтобы реализовать тот же флоу с собственным веб-чекаутом вместо воронки FunnelFox, см. Синхронизация покупок между вебом и мобильным приложением.
Подключение FunnelFox
Подключение настраивается на стороне FunnelFox — следуйте инструкции по интеграции FunnelFox с Adapty. Вам понадобятся два значения из Adapty:
- Secret API key: Откройте App Settings в Adapty и скопируйте секретный ключ.
- Access level ID: Уровень доступа, который предоставляется после покупки. В каждом приложении Adapty по умолчанию создаётся уровень
premium; если нужен другой — сначала создайте его.
Предоставление разных уровней доступа в одном флоу
Если флоу продаёт один тариф, настраивать ничего не нужно: каждая покупка будет предоставлять уровень доступа из настроек интеграции.
Чтобы продавать несколько тарифов из одного флоу, используйте поле Custom entitlement в элементе оформления заказа. Оно переопределяет ID уровня доступа из настроек интеграции для покупок через этот элемент. Флоу может содержать несколько элементов оформления заказа — например, кнопку Wallet и аккордеон-чекаут. У каждого из них есть своё поле Custom entitlement, поэтому заполните его на каждом элементе, который должен предоставлять переопределённый уровень доступа.
Переопубликуйте флоу после изменения настроек интеграции или любого значения Custom entitlement. Опубликованный флоу продолжает использовать предыдущую конфигурацию вплоть до переопубликации.
Предоставьте доступ в своём приложении
Чтобы открыть платные функции для пользователя, совершившего покупку через веб, вызовите Adapty.activate() или Adapty.identify() с тем же customer user ID, который использовал FunnelFox. По умолчанию это адрес электронной почты, введённый покупателем при оформлении заказа. Подробнее о вызове смотрите в разделах Идентификация пользователей iOS, Android, React Native, Flutter, Unity, Kotlin Multiplatform и Capacitor .
Установка приложения по ссылке из воронки не идентифицирует покупателя. Пока ваше приложение не вызовет Adapty.identify() с совпадающим ID, профиль с уровнем доступа и профиль, созданный приложением, остаются разделёнными, и приложение не показывает платный доступ. Вход через email, указанный при оплате, совмещает эти два профиля.
Чтобы открыть доступ без шага авторизации, передайте customer user ID из воронки в приложение через отложенный диплинк, затем вызовите Adapty.identify() с этим ID при первом запуске.
Затем считайте уровень доступа из профиля, чтобы открыть нужные функции. Подробнее — Проверка статуса подписки iOS, Android, React Native, Flutter, Unity, Kotlin Multiplatform и Capacitor .
Проверьте интеграцию
- Совершите покупку в вашей воронке.
- В Adapty откройте Profiles и найдите профиль по customer user ID, который использует FunnelFox.
- Убедитесь, что уровень доступа, ID которого вы указали в настройках интеграции FunnelFox, активен на этом профиле.
- Откройте приложение, авторизуйтесь под тем же пользователем и убедитесь, что платные функции разблокированы.
Устранение неполадок
Пользователь, купивший подписку через веб, открывает приложение без доступа
Ваше приложение не идентифицировало покупателя. FunnelFox предоставил уровень доступа профилю, привязанному к ID, который он использовал — по умолчанию это email, указанный при оформлении заказа, — а ваше приложение читает другой профиль. Вызовите Adapty.identify() с этим ID, как описано в разделе Предоставление доступа в приложении.
Другие интеграции FunnelFox
FunnelFox подключается к трём продуктам Adapty, каждый из которых настраивается отдельно.
| Продукт | Что FunnelFox отправляет в Adapty | Гайд по настройке |
|---|---|---|
| Core | Профили, транзакции и уровни доступа, чтобы покупки через веб открывали доступ в приложении | Эта статья |
| Adapty Attribution | События транзакций с данными о кампании, воронке и эксперименте | Интеграция FunnelFox с Adapty Attribution |
| Adapty Mail | Email-адреса, история покупок и события подписок | Подключение FunnelFox к Adapty Mail |