-
Notifications
You must be signed in to change notification settings - Fork 2
Convert paywalls to flows #418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
80cd6c1
b9df1ec
54d8ac4
46e51fd
686a06c
eb7a9ac
c2393b8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| --- | ||
| title: "Convert a paywall into a flow" | ||
| description: "Recreate an existing paywall as an editable flow in one click. Your original stays live while you build and test the new version." | ||
| metadataTitle: "Convert a paywall into a flow | Adapty Docs" | ||
| keywords: ['paywall builder', 'old paywall builder', 'move to new builder', 'paywall migration'] | ||
| --- | ||
|
|
||
| If your current paywall was made in the old Paywall Builder, you can convert it into a flow without rebuilding it. <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder** recreates the paywall as an editable flow in one click. Layout, text, products, and localizations carry over. Your original paywall stays live and unchanged, so you can build and test the flow before you switch to it. | ||
|
|
||
| ## What carries over | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. А мы как будто уже это пишем в последнем предложении интро. Можно его отдельным абзацем вынести, и тогда эта секция уже не так нужна будет |
||
|
|
||
| The conversion recreates your paywall as a new draft flow, using real flow elements. It copies over: | ||
|
|
||
| - **Layout and design**: The screens, elements, and styling from the original paywall. | ||
| - **Text**: All copy, in every locale you added. | ||
| - **Products**: Each product, with prices and discounts as variables rather than hardcoded values. | ||
|
|
||
| The new flow is a separate copy. Your original paywall keeps running until you decide to switch. | ||
|
|
||
| ### Known limitations | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Давай сделаем это последней секцией в статье. Это же то, что мелким шрифтом в конце договора пишут, и это больше для референса |
||
|
|
||
| Not every old Paywall Builder element has a direct flow equivalent. The conversion gets close, but a few things need a manual pass afterward: | ||
|
|
||
| - **Hero images and videos**: A full-width image or video may not carry over exactly as in the original paywall. | ||
| - **Media overlays**: Flows don't support overlay images yet. | ||
| - **Image tint and mask**: Neither carries over. | ||
| - **Custom fonts**: Fonts don't carry over on their own. [Upload the fonts and manually style the text](using-custom-fonts-in-flow-builder) after the conversion. | ||
| - **Layer order**: A known z-index bug can stack some elements in the wrong order. | ||
| - **Relative sizing**: Flows can't size elements as a percentage of the parent. | ||
| - **Maximum width**: Flow elements don't have a maximum width setting. | ||
| - **Spacing and padding** may drift insignificantly. | ||
|
Comment on lines
+24
to
+31
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Вообще такой большой список грустно звучит, не хочется всем его показывать... мб, что-то к релизу исправят? Хочется и честными остаться, и людей не пугать — как будто можно попробовать более общими словами обрисовать |
||
|
|
||
| Always [preview the flow on a real device](migrate-to-flows#preview-on-device) and fix anything that looks off. | ||
|
|
||
| ## Convert your paywall | ||
|
|
||
| To convert a paywall into a flow, open the paywall's overview page and click <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder**. | ||
|
|
||
| The <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder** button only appears for paywalls made with the old Paywall Builder. Paywalls built by hand need to be [recreated manually](paywall-builder-templates). | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Меня бы это смутило как пользователя, потому что мы этот сценарий вообще никак не упоминаем. Да и зачем им кастомные пэйволы мигрировать |
||
|
|
||
| <ZoomImage id="move-to-new-builder.webp" width="700px" alt="Move to new builder button in the paywall action row" /> | ||
|
|
||
| After a successful conversion, Adapty opens the flow draft in the editor. You can make any changes you want before publishing it. | ||
|
|
||
| <ZoomImage id="paywall-imported-toast.webp" width="500px" alt="Paywall imported toast in the flow editor after conversion" /> | ||
|
|
||
| ## Serve your flow | ||
|
|
||
| :::link | ||
| Main article: [Migrate to flows](migrate-to-flows) | ||
| ::: | ||
|
|
||
| Converting the paywall creates the flow. To show it to users, you point a placement at the flow and update the SDK. | ||
|
|
||
| A flow needs its own placement with a new, unique ID, and it renders only on Adapty SDK v4 and later. [Migrate to flows](migrate-to-flows) covers both steps — creating the placement and upgrading the SDK. It also explains how to keep your original paywall live during the switch. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не крит вообще, но вопрос ленивого человека: зачем добавлять иконку тогда, когда есть текст, которого хватает для идентификации кнопки/функциональности? Мб, будем иконки вставлять только тогда, когда нет текста?