Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.
Before you start building screens in the No-Code Builder, make sure your app is connected to the Qonversion SDK. The SDK handles screen display, product data, analytics, and purchase tracking.You only need to install it once — then you can display and update No-Code screens anytime, without additional code changes.
On Android the No-Codes SDK is distributed as a separate package, but it includes the Qonversion SDK as a dependency.For iOS and other supported cross-platform frameworks, No-Codes SDK comes with the Qonversion SDK. If you already use Qonversion SDK, then simply upgrade it to the minimal required version, described below. If not, add the latest version to your project following this guide.
Open Xcode (15 or newer), go to File → Add Package Dependencies…, paste https://github.com/qonversion/qonversion-ios-sdk into the search bar and add the Qonversion library to your app target. With Swift Package Manager, No-Codes lives in its own module — use import NoCodes where you call it (see the iOS installation page for the module table).
CocoaPods trunk becomes read-only on December 2, 2026: new Qonversion releases will no longer be published to CocoaPods trunk — Swift Package Manager is the supported way to receive them; existing CocoaPods builds keep working. See the migration guide.
Add dependency to Podfile.
pod 'Qonversion'
Run pod install in the project directory to download the dependency.
If you are utilizing our subscription management and analytics SDK (io.qonversion.android.sdk:sdk), please be aware that the No-Codes SDK includes the latest version of the Qonversion SDK. Therefore, you need to manage the migration from previous major versions to the latest ones. Our migration guides located in the relevant documentation section will assist you with this process.After that you can remove the Qonversion SDK dependency from your build.gradle file and leave only the No-Codes SDK dependency there.
After installation, install the iOS pods — React Native integrates native modules through CocoaPods (see the React Native installation page for what changes when CocoaPods trunk becomes read-only):
To use Qonversion in your Flutter app, add qonversion as a dependency in your pubspec.yaml file:
dependencies: qonversion_flutter: ^11.11.0
Then install the dependency
flutter pub get
Flutter wires up the native iOS and macOS dependency itself on flutter run / flutter build — through Swift Package Manager when it is enabled (opt-in since Flutter 3.24, on by default since 3.44) or through CocoaPods otherwise. See the Flutter installation page for the details.
Then add the plugin to the project — Cordova wires up the native modules itself (as a Swift package on cordova-ios 8+, through CocoaPods on cordova-ios 6/7; see the Cordova installation page for the requirements):
After installation, sync the plugin into your native projects — Capacitor resolves the native iOS dependency itself (Swift Package Manager or CocoaPods, depending on how the iOS project was created; see the Capacitor installation page):
// You can initialize using only project keylet configuration = NoCodesConfiguration(projectKey: "projectKey")NoCodes.initialize(with: configuration)
// You can initialize using only project keyval noCodesConfig = NoCodesConfig.Builder(this, "projectKey").build()NoCodes.initialize(noCodesConfig)
// You can initialize using only project keyfinal NoCodesConfig noCodesConfig = new NoCodesConfig.Builder(this, "projectKey").build();NoCodes.initialize(noCodesConfig);
// You can initialize using only project keyconst noCodesConfig = new NoCodesConfigBuilder('projectKey') .build();NoCodes.initialize(noCodesConfig);
final noCodesConfig = new NoCodesConfigBuilder(projectKey).build();NoCodes.initialize(noCodesConfig);
// You can initialize using only project keyconst noCodesConfig = new Qonversion.NoCodesConfigBuilder('projectKey') .build();Qonversion.NoCodes.initialize(noCodesConfig);
// You can initialize using only project keyconst noCodesConfig = new NoCodesConfigBuilder('projectKey') .build();NoCodes.initialize(noCodesConfig);
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Qonversion","colors":{"primary":"#7357C2","light":"#AB7DFF","dark":"#7357C2"},"favicon":"https://mintcdn.com/qonversion/i4lAeIKmC47lf8K-/59c36df-small-Avatars_500x500_Black.png?fit=max\u0026auto=format\u0026n=i4lAeIKmC47lf8K-\u0026q=85\u0026s=3f20c2a21d5255fe08a1688d9bfc9efb","api":{"examples":{"languages":["curl","python","javascript","php","ruby","go","java"]}},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#161617"}},"navbar":{"links":[{"href":"https://qonversion.io","label":"Home"},{"href":"https://dash.qonversion.io","label":"Dashboard"},{"href":"https://status.qonversion.io","label":"Status"}]},"footer":{"socials":{"github":"https://github.com/qonversion","x":"https://x.com/qonversion_io","linkedin":"https://www.linkedin.com/company/qonversion"}},"search":{"prompt":"Search Qonversion docs..."},"seo":{"indexing":"all"},"fonts":{"family":"Inter"},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"section","codeblocks":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"latex":true},"contextual":{"options":["copy","view","claude","chatgpt"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"qonversion","hasAudioNarration":false,"actualSubdomain":"qonversion","customDomains":["documentation.qonversion.io"],"gitSource":{"type":"github","owner":"qonversion","repo":"documentation_mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae89516de528214ed20219a","collectionId":"2752c13e-1865-43c9-aaa0-2f7d51285deb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae89516de528214ed20219a"},"entitlements":{},"buildId":"6ae89516de528214ed20219a","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API reference","count":159},{"language":"default","tag":"Guides","count":146},{"language":"default","tag":"REST API v4","count":112},{"language":"default","tag":"Get started","count":57},{"language":"default","tag":"SDK migration guides","count":32},{"language":"default","tag":"Integrations","count":31},{"language":"default","tag":"No-Code Builder","count":27},{"language":"default","tag":"Platform resources","count":22},{"language":"default","tag":"Resource guides","count":21},{"language":"default","tag":"Analytics","count":19}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":":root{--qdoc-page: #ffffff;--qdoc-chrome: #fafafa;--qdoc-surface: #ffffff;--qdoc-field: #f7f7f9;--qdoc-subtle: #f6f6f6;--qdoc-text: #272727;--qdoc-text-secondary: #6e6e6e;--qdoc-text-tertiary: #595959;--qdoc-border: rgba(51, 51, 51, 0.12);--qdoc-border-strong: rgba(51, 51, 51, 0.28);--qdoc-accent: #7357c2;--qdoc-accent-hover: #664cb0;--qdoc-accent-soft: #f3f0fe;--qdoc-accent-ring: rgba(115, 87, 194, 0.32);--qdoc-button: #8161db;--qdoc-button-label: #ffffff;--qdoc-positive: #166b37;--qdoc-warning: #7a5f17;--qdoc-negative: #b32b2b;--qdoc-info: #3155c6;--qdoc-p-infra: #70dda5;--qdoc-p-forecast: #00d8ff;--qdoc-p-ads: #ff76d5;--qdoc-p-experiments: #ff8347;--qdoc-p-mcp: #cabaf9;--qdoc-p-label: #14121c;--qdoc-radius-card: 12px;--qdoc-radius-control: 10px;--qdoc-radius-chip: 999px;--qdoc-measure: 68ch;--qdoc-ease: cubic-bezier(0.2, 0, 0, 1);--qdoc-fast: 120ms;--qdoc-normal: 200ms}.dark,:root[class~=\"dark\"]{--qdoc-page: #161617;--qdoc-chrome: #161617;--qdoc-surface: #232325;--qdoc-field: #1d1d1f;--qdoc-subtle: rgba(255, 255, 255, 0.06);--qdoc-text: #ffffff;--qdoc-text-secondary: rgba(255, 255, 255, 0.7);--qdoc-text-tertiary: rgba(255, 255, 255, 0.5);--qdoc-border: rgba(255, 255, 255, 0.12);--qdoc-border-strong: rgba(255, 255, 255, 0.28);--qdoc-accent: #ab7dff;--qdoc-accent-hover: #b98fff;--qdoc-accent-soft: rgba(130, 100, 219, 0.18);--qdoc-accent-ring: rgba(171, 125, 255, 0.4);--qdoc-button: #8161db;--qdoc-button-label: #ffffff;--qdoc-positive: #7adb9b;--qdoc-warning: #f0cd77;--qdoc-negative: #f08a8a;--qdoc-info: #a8c1ff}#content-area h1,#content-area h2,#content-area h3,#content-area h4,#content-area h5,#content-area h6{font-weight:600;text-wrap:balance;letter-spacing:-0.015em}#content-area h1{font-size:2.25rem;line-height:1.15;letter-spacing:-0.022em}#content-area h2{font-size:1.5rem;line-height:1.22}#content-area h3{font-size:1.1875rem;line-height:1.3}#content-area h2{margin-block:3rem 1rem}#content-area h3{margin-block:2.25rem 0.75rem}#content-area p,#content-area li{font-size:1.0625rem;line-height:1.65;color:var(--qdoc-text-secondary)}#content-area>div>p,#content-area .prose>p{max-width:var(--qdoc-measure)}#content-area p{text-wrap:pretty}#content-area h1+p{font-size:1.1875rem;line-height:1.55;color:var(--qdoc-text-secondary)}#content-area table td,#content-area table th,#content-area code{font-variant-numeric:tabular-nums}#content-area a.link,#content-area a:not([class]){color:var(--qdoc-accent);text-decoration-color:var(--qdoc-accent-ring);text-decoration-thickness:from-font;text-underline-position:from-font;text-underline-offset:0.12em;text-decoration-skip-ink:auto;transition:color var(--qdoc-fast) var(--qdoc-ease)}#content-area a.link:hover,#content-area a:not([class]):hover{color:var(--qdoc-accent-hover);text-decoration-color:currentColor}#content-area abbr[title]{text-decoration:underline dotted;cursor:help}#content-area [class*=\"code\"] [role=\"tab\"],#content-area .code-group-tab,#content-area figcaption{color:var(--qdoc-text-secondary)!important;font-size:0.75rem;font-weight:500;letter-spacing:0.02em}#content-area [class*=\"code\"] [role=\"tab\"][aria-selected=\"true\"],#content-area .code-group-tab[data-state=\"active\"]{color:var(--qdoc-text)!important;box-shadow:inset 0 -2px 0 0 var(--qdoc-accent)}#content-area pre{background:var(--qdoc-field);border:1px solid var(--qdoc-border);border-radius:var(--qdoc-radius-card);font-size:0.84375rem;line-height:1.6}#content-area :not(pre)>code{background:var(--qdoc-subtle);border:1px solid var(--qdoc-border);border-radius:6px;padding:0.1em 0.35em;font-size:0.875em}#content-area button[aria-label*=\"Copy\"i]{position:relative}#content-area button[aria-label*=\"Copy\"i]::after{content:\"\";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%, -50%)}#navigation-items a,#content-side-layout a{color:var(--qdoc-text-secondary);border-radius:var(--qdoc-radius-control);transition:color var(--qdoc-fast) var(--qdoc-ease),\n background-color var(--qdoc-fast) var(--qdoc-ease)}#navigation-items a:hover{color:var(--qdoc-text);background:var(--qdoc-subtle)}#navigation-items a[aria-current],#navigation-items a[data-active=\"true\"]{color:var(--qdoc-accent);background:var(--qdoc-accent-soft);font-weight:500;box-shadow:inset 2px 0 0 0 var(--qdoc-accent)}#content-area table{border-color:var(--qdoc-border)}#content-area thead th{background:var(--qdoc-subtle);color:var(--qdoc-text);font-size:0.8125rem;font-weight:600;letter-spacing:0.01em}#content-area tbody td{font-size:0.9375rem;line-height:1.5}#content-area tbody tr:hover{background:var(--qdoc-subtle)}#content-area .card{border-radius:var(--qdoc-radius-card);border:1px solid var(--qdoc-border);box-shadow:none;transition:border-color var(--qdoc-fast) var(--qdoc-ease)}@media (hover: hover) and (pointer: fine){#content-area a.card:hover{border-color:var(--qdoc-border-strong)}}#content-area [class*=\"callout\"],#content-area blockquote{border-radius:var(--qdoc-radius-card);border-inline-start:3px solid var(--qdoc-border-strong)}#content-area img:not([src*=\"shields.io\"]){border-radius:var(--qdoc-radius-card);outline:1px solid rgba(0, 0, 0, 0.1);outline-offset:-1px}.dark #content-area img:not([src*=\"shields.io\"]){outline-color:rgba(255, 255, 255, 0.1)}.qdoc-chip{display:inline-block;padding:0.15em 0.7em;border-radius:var(--qdoc-radius-chip);background:var(--qdoc-subtle);color:var(--qdoc-text);font-size:0.75rem;font-weight:600;line-height:1.5;white-space:nowrap}.qdoc-chip[data-product]{color:var(--qdoc-p-label)}.qdoc-chip[data-product=\"infra\"]{background:var(--qdoc-p-infra)}.qdoc-chip[data-product=\"forecast\"]{background:var(--qdoc-p-forecast)}.qdoc-chip[data-product=\"ads\"]{background:var(--qdoc-p-ads)}.qdoc-chip[data-product=\"experiments\"]{background:var(--qdoc-p-experiments)}.qdoc-chip[data-product=\"mcp\"]{background:var(--qdoc-p-mcp)}:root[data-qdoc-product] #content-area h1{padding-inline-start:0.75rem;border-inline-start:3px solid var(--qdoc-rail, var(--qdoc-border-strong));margin-inline-start:-0.75rem}:root[data-qdoc-product=\"infra\"]{--qdoc-rail: var(--qdoc-p-infra)}:root[data-qdoc-product=\"forecast\"]{--qdoc-rail: var(--qdoc-p-forecast)}:root[data-qdoc-product=\"ads\"]{--qdoc-rail: var(--qdoc-p-ads)}:root[data-qdoc-product=\"experiments\"]{--qdoc-rail: var(--qdoc-p-experiments)}:root[data-qdoc-product=\"mcp\"]{--qdoc-rail: var(--qdoc-p-mcp)}.qdoc-stage{display:inline-block;font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--qdoc-text-tertiary)}::selection{background:var(--qdoc-accent-soft);color:var(--qdoc-text)}:root{accent-color:var(--qdoc-accent);caret-color:var(--qdoc-accent)}:where(a,button,[role=\"button\"],summary,input,select,textarea):focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--qdoc-page), 0 0 0 4px var(--qdoc-accent);border-radius:var(--qdoc-radius-control)}@supports selector(::-webkit-scrollbar){#navigation-items::-webkit-scrollbar{width:10px}#navigation-items::-webkit-scrollbar-thumb{background:var(--qdoc-border-strong);border:3px solid transparent;background-clip:content-box;border-radius:999px}}.method-pill.text-green-700,.method-nav-pill>.text-green-700{color:var(--qdoc-positive)!important;background-color:rgba(39, 197, 90, 0.12)!important}.method-pill.text-blue-700,.method-nav-pill>.text-blue-700{color:var(--qdoc-accent)!important;background-color:var(--qdoc-accent-soft)!important}.method-nav-pill>.bg-\\[\\#2AB673\\]{background-color:#166b37!important}.method-nav-pill>.bg-\\[\\#3064E3\\]{background-color:#7357c2!important}.dark .method-nav-pill>.bg-\\[\\#2AB673\\]{background-color:#27633f!important}.dark .method-nav-pill>.bg-\\[\\#3064E3\\]{background-color:#8161db!important}@media (max-width: 767px){#content-area p,#content-area li{font-size:1rem;line-height:1.6}#content-area h1{font-size:1.75rem}#content-area h2{font-size:1.3125rem;margin-block:2.25rem 0.75rem}#content-area pre{font-size:0.8125rem}#content-area{padding-bottom:max(3rem, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}#navigation-items,#sidebar,header.z-30{background-color:var(--qdoc-page)}.z-30 a[href=\"/\"] img,.z-30 a[href=\"/\"] svg{height:26px;width:auto}.z-30 a[href=\"/\"]{font-size:1.5rem;letter-spacing:-0.025em}#navigation-items a{font-size:0.9375rem;font-weight:500;color:#4a4a4a;padding-block:0.5rem}.dark #navigation-items a{color:rgba(255, 255, 255, 0.82)}#navigation-items a[aria-current],#navigation-items a[data-active=\"true\"]{color:var(--qdoc-accent)}#navigation-items .sidebar-group-icon{width:16px;height:16px;flex:none;opacity:1;color:var(--qdoc-accent)}#navigation-items .sidebar-group-header{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;font-weight:600;letter-spacing:0;color:var(--qdoc-text)}#content-area .card,#content-area [class*=\"callout\"],#content-area blockquote,#content-area thead th{background:var(--qdoc-subtle)}#content-area pre{background:var(--qdoc-field)}#content-area .card pre{background:var(--qdoc-page)}#page-context-menu button{background-color:var(--qdoc-subtle)}#page-context-menu button:hover{background-color:var(--qdoc-border)}#content-area .qdoc-products .columns>.card{border-inline-start-width:3px}#content-area .qdoc-products .columns>.card:nth-child(1){border-inline-start-color:var(--qdoc-p-infra)}#content-area .qdoc-products .columns>.card:nth-child(2){border-inline-start-color:var(--qdoc-p-ads)}#content-area .qdoc-products .columns>.card:nth-child(3){border-inline-start-color:var(--qdoc-p-experiments)}#content-area .qdoc-products .columns>.card:nth-child(4){border-inline-start-color:var(--qdoc-p-mcp)}.z-30 .h-14{height:66px!important;padding:15px 16px 5px 16px!important}.z-30 .h-10{height:48px!important}.z-30 .h-14 a[href=\"/\"]{margin-top:-3px!important}"}],"page":{"pagePath":"docs/installation","slug":"/docs/installation","pageMetadata":{"title":"Installation","description":"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.","href":"/docs/installation"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Info,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Before you start building screens in the No-Code Builder, make sure your app is connected to the Qonversion SDK. The SDK handles screen `,_jsx(_components.strong,{children:`display`}),`, `,_jsx(_components.strong,{children:`product data`}),`, `,_jsx(_components.strong,{children:`analytics,`}),` and `,_jsx(_components.strong,{children:`purchase tracking.`})]}),`\n`,_jsx(_components.p,{children:`You only need to install it once — then you can display and update No-Code screens anytime, without additional code changes.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:`On Android the No-Codes SDK is distributed as a separate package, but it includes the Qonversion SDK as a dependency.`}),_jsx(_components.p,{children:`For iOS and other supported cross-platform frameworks, No-Codes SDK comes with the Qonversion SDK. If you already use Qonversion SDK, then simply upgrade it to the minimal required version, described below. If not, add the latest version to your project following this guide.`})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`supported-platforms`,children:`Supported platforms`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Platform`}),_jsx(_components.th,{children:`SDK Version`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`iOS`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`6.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Android`}),_jsx(_components.td,{children:`No-Codes 1.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`React Native`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`10.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Flutter SDK`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`11.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unity SDK`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`9.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cordova Plugin`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`7.0.0+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Capacitor Plugin`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1.0.0+`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`1-install-sdks`,children:`1. Install SDKs`}),`\n`,_jsx(Heading,{level:`3`,id:`install-ios-sdk`,children:`Install iOS SDK`}),`\n`,_jsx(Heading,{level:`4`,id:`ios-swift-package-manager`,children:`iOS (Swift Package Manager)`}),`\n`,_jsxs(_components.p,{children:[`Open Xcode (15 or newer), go to `,_jsx(_components.strong,{children:`File → Add Package Dependencies…`}),`, paste `,_jsx(_components.code,{children:`https://github.com/qonversion/qonversion-ios-sdk`}),` into the search bar and add the `,_jsx(_components.code,{children:`Qonversion`}),` library to your app target. With Swift Package Manager, No-Codes lives in its own module — use `,_jsx(_components.code,{children:`import NoCodes`}),` where you call it (see the `,_jsx(_components.a,{href:`ios-sdk-setup`,children:`iOS installation page`}),` for the module table).`]}),`\n`,_jsx(Heading,{level:`4`,id:`or-using-cocoapods`,children:`Or using CocoaPods:`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`CocoaPods trunk becomes read-only on December 2, 2026: new Qonversion releases will no longer be published to CocoaPods trunk — Swift Package Manager is the supported way to receive them; existing CocoaPods builds keep working. See the `,_jsx(_components.a,{href:`dec-2026-migration-guide-cocoapods-to-spm`,children:`migration guide`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Add dependency to `,_jsx(_components.code,{children:`Podfile`}),`.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Podfile`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`pod 'Qonversion'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})}),`\n`,_jsxs(_components.p,{children:[`Run `,_jsx(_components.code,{children:`pod install`}),` in the project directory to download the dependency.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`pod`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` install`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`install-android-sdk`,children:`Install Android SDK`}),`\n`,_jsxs(_components.p,{children:[`Add Qonversion dependency to your package level `,_jsx(_components.code,{children:`build.gradle`}),` file.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`build.gradle`,numberOfLines:`1`,language:`groovy`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`groovy`,children:_jsxs(_components.code,{language:`groovy`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`implementation `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`'io.qonversion:no-codes:1.+'`})]}),`\n`]})})})}),`\n`,_jsxs(Warning,{children:[_jsx(Heading,{level:`3`,id:`migrating-to-the-latest-qonversion-sdk-version`,children:`Migrating to the latest Qonversion SDK version`}),_jsxs(_components.p,{children:[`If you are utilizing our subscription management and analytics SDK (`,_jsx(_components.code,{children:`io.qonversion.android.sdk:sdk`}),`), please be aware that the No-Codes SDK includes the latest version of the Qonversion SDK. Therefore, you need to manage the migration from previous major versions to the latest ones. Our migration guides located in the relevant documentation section will assist you with this process.`]}),_jsxs(_components.p,{children:[`After that you can remove the Qonversion SDK dependency from your `,_jsx(_components.code,{children:`build.gradle`}),` file and leave only the No-Codes SDK dependency there.`]})]}),`\n`,_jsx(Heading,{level:`3`,id:`install-react-native-sdk`,children:`Install React Native SDK`}),`\n`,_jsx(_components.p,{children:`Install via npm or Yarn:`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/react-native-sdk`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` --save`})]}),`\n`]})})})}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`yarn`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/react-native-sdk`})]}),`\n`]})})})}),`\n`,_jsxs(_components.p,{children:[`After installation, install the iOS pods — React Native integrates native modules through CocoaPods (see the `,_jsx(_components.a,{href:`react-native-sdk`,children:`React Native installation page`}),` for what changes when CocoaPods trunk becomes read-only):`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`cd`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` ios`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`pod`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` install`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`install-flutter-sdk`,children:`Install Flutter SDK`}),`\n`,_jsx(_components.p,{children:`To use Qonversion in your Flutter app, add qonversion as a dependency in your pubspec.yaml file:`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`pubspec.yaml`,numberOfLines:`2`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#7EE787`},children:`dependencies`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#7EE787`},children:` qonversion_flutter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`^11.11.0`})]}),`\n`]})})})}),`\n`,_jsx(_components.p,{children:`Then install the dependency`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`flutter pub get`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})}),`\n`,_jsxs(_components.p,{children:[`Flutter wires up the native iOS and macOS dependency itself on `,_jsx(_components.code,{children:`flutter run`}),` / `,_jsx(_components.code,{children:`flutter build`}),` — through Swift Package Manager when it is enabled (opt-in since Flutter 3.24, on by default since 3.44) or through CocoaPods otherwise. See the `,_jsx(_components.a,{href:`flutter-sdk`,children:`Flutter installation page`}),` for the details.`]}),`\n`,_jsx(Heading,{level:`3`,id:`install-unity-sdk`,children:`Install Unity SDK`}),`\n`,_jsxs(_components.p,{children:[`Follow the steps described `,_jsx(_components.a,{href:`unity-sdk`,children:`here`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`install-cordova-plugin`,children:`Install Cordova Plugin`}),`\n`,_jsx(_components.p,{children:`Install via npm or Yarn:`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/cordova-plugin`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` --save`})]}),`\n`]})})})}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`yarn`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/cordova-plugin`})]}),`\n`]})})})}),`\n`,_jsxs(_components.p,{children:[`Then add the plugin to the project — Cordova wires up the native modules itself (as a Swift package on cordova-ios 8+, through CocoaPods on cordova-ios 6/7; see the `,_jsx(_components.a,{href:`cordova`,children:`Cordova installation page`}),` for the requirements):`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`cordova`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` plugin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/cordova-plugin`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`install-capacitor-plugin`,children:`Install Capacitor Plugin`}),`\n`,_jsx(_components.p,{children:`Install via npm or Yarn:`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/capacitor-plugin`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` --save`})]}),`\n`]})})})}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`yarn`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` @qonversion/capacitor-plugin`})]}),`\n`]})})})}),`\n`,_jsxs(_components.p,{children:[`After installation, sync the plugin into your native projects — Capacitor resolves the native iOS dependency itself (Swift Package Manager or CocoaPods, depending on how the iOS project was created; see the `,_jsx(_components.a,{href:`capacitor`,children:`Capacitor installation page`}),`):`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#FFA657`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` cap`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:` sync`})]}),`\n`]})})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`2-get-your-project-key`,children:`2. Get Your Project Key`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Qonversion Dashboard`}),` → `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`General`}),` Tab.`]}),`\n`,_jsxs(_components.li,{children:[`Copy your `,_jsx(_components.strong,{children:`Project Key`}),`.`]}),`\n`,_jsx(_components.li,{children:`Use this key in your SDK initialization.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This key connects your app to the correct project, enabling the Builder to display published screens and track metrics.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`3-initialize-sdk`,children:`3. Initialize SDK`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Swift`,numberOfLines:`3`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` configuration `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` NoCodesConfiguration`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`projectKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"projectKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`NoCodes.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`with`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`: configuration)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Kotlin`,numberOfLines:`3`,language:`kotlin`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`val`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` noCodesConfig `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` NoCodesConfig.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`Builder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"projectKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`NoCodes.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Java`,numberOfLines:`3`,language:`java`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`java`,children:_jsxs(_components.code,{language:`java`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` NoCodesConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` noCodesConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` NoCodesConfig.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`Builder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`this`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`\"projectKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`NoCodes.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`React Native`,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` noCodesConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:` NoCodesConfigBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`'projectKey'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`NoCodes.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Flutter`,numberOfLines:`2`,language:`dart`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`final`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` noCodesConfig `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` NoCodesConfigBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(projectKey).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:`NoCodes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Cordova`,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` noCodesConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` Qonversion.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`NoCodesConfigBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`'projectKey'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`Qonversion.NoCodes.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Capacitor`,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default github-dark-default`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0d1117`,color:`#1f2328`,\"--shiki-dark\":`#e6edf3`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#8B949E`},children:`// You can initialize using only project key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#79C0FF`},children:` noCodesConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#FF7B72`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:` NoCodesConfigBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#A5D6FF`},children:`'projectKey'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`NoCodes.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#D2A8FF`},children:`initialize`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#E6EDF3`},children:`(noCodesConfig);`})]}),`\n`]})})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-next`,children:`What’s Next`}),`\n`,_jsx(_components.p,{children:`After the SDK is connected, you can:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`getting-started`,children:`Create your first No-Code Screen`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`displaying-no-codes`,children:`Display screens in your app`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`fallbacks`,children:`Set up fallback screens`})}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`no-codes`,children:`Qonversion No-Code Builder`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`product-setup-store-connection-1`,children:`Product Setup \u0026 Store Connection`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"config":{},"pageMetadata":{"title":"Installation","description":"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.","href":"/docs/installation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Supported platforms","slug":"supported-platforms","depth":3,"children":[]},{"title":"1. Install SDKs","slug":"1-install-sdks","depth":2,"children":[{"title":"Install iOS SDK","slug":"install-ios-sdk","depth":3,"children":[]},{"title":"iOS (Swift Package Manager)","slug":"ios-swift-package-manager","depth":4,"children":[]},{"title":"Or using CocoaPods:","slug":"or-using-cocoapods","depth":4,"children":[]},{"title":"Install Android SDK","slug":"install-android-sdk","depth":3,"children":[]},{"title":"Migrating to the latest Qonversion SDK version","slug":"migrating-to-the-latest-qonversion-sdk-version","depth":3,"children":[]},{"title":"Install React Native SDK","slug":"install-react-native-sdk","depth":3,"children":[]},{"title":"Install Flutter SDK","slug":"install-flutter-sdk","depth":3,"children":[]},{"title":"Install Unity SDK","slug":"install-unity-sdk","depth":3,"children":[]},{"title":"Install Cordova Plugin","slug":"install-cordova-plugin","depth":3,"children":[]},{"title":"Install Capacitor Plugin","slug":"install-capacitor-plugin","depth":3,"children":[]}]},{"title":"2. Get Your Project Key","slug":"2-get-your-project-key","depth":2,"children":[]},{"title":"3. Initialize SDK","slug":"3-initialize-sdk","depth":2,"children":[]},{"title":"What’s Next","slug":"what’s-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/qonversion/a8b6627337592ade/custom.js"],"subdomain":"qonversion","siteName":"Qonversion","title":"Installation - Qonversion","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T13:29:48.311Z","originalFileLocation":"docs/installation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Qonversion\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Installation - Qonversion\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Qonversion\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.qonversion.io/docs/installation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://qonversion.mintlify.site/_mintlify/api/og/v2?division=Installation\u0026amp;title=Installation\u0026amp;description=Connect+your+app+to+the+Qonversion+SDK+for+the+No-Code+Builder+to+handle+screen+display%2C+product+data%2C+analytics%2C+and+purchase+tracking.\u0026amp;theme=5e06de6effeba4eba76a25c4\u0026amp;signature=e90988f71609d84bc8dfc4e2b53e027c3d909f1cd056aba8ecb51cb3509805ca\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Installation - Qonversion\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://qonversion.mintlify.site/_mintlify/api/og/v2?division=Installation\u0026amp;title=Installation\u0026amp;description=Connect+your+app+to+the+Qonversion+SDK+for+the+No-Code+Builder+to+handle+screen+display%2C+product+data%2C+analytics%2C+and+purchase+tracking.\u0026amp;theme=5e06de6effeba4eba76a25c4\u0026amp;signature=e90988f71609d84bc8dfc4e2b53e027c3d909f1cd056aba8ecb51cb3509805ca\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/qonversion/Dzad_pULPIRkhK0k/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Qonversion\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7357C2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.qonversion.io/docs/installation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/installation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.qonversion.io/#organization\",\"name\":\"Qonversion\",\"url\":\"https://documentation.qonversion.io\"},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.qonversion.io#website\",\"name\":\"Qonversion\",\"url\":\"https://documentation.qonversion.io\",\"publisher\":{\"@id\":\"https://documentation.qonversion.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.qonversion.io/docs/installation#webpage\",\"url\":\"https://documentation.qonversion.io/docs/installation\",\"name\":\"Installation\",\"description\":\"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\",\"dateModified\":\"2026-10-08T13:29:48.311Z\",\"isPartOf\":{\"@id\":\"https://documentation.qonversion.io#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.qonversion.io/docs/installation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.qonversion.io/docs/installation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"No-Code Builder\",\"item\":\"https://documentation.qonversion.io/docs/no-codes\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Installation\",\"item\":\"https://documentation.qonversion.io/docs/installation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.qonversion.io/docs/installation#article\",\"headline\":\"Installation\",\"name\":\"Installation\",\"description\":\"Connect your app to the Qonversion SDK for the No-Code Builder to handle screen display, product data, analytics, and purchase tracking.\",\"url\":\"https://documentation.qonversion.io/docs/installation\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.qonversion.io/docs/installation#webpage\"},\"dateModified\":\"2026-10-08T13:29:48.311Z\",\"publisher\":{\"@id\":\"https://documentation.qonversion.io/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.qonversion.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Qonversion\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Qonversion","nav":{"global":null,"tabs":[{"tab":"Get started","icon":"rocket","pages":[{"title":"Get started","href":"/docs/qonversion-platform"}]},{"tab":"Guides","icon":"book-open","groups":[{"group":"Apple Ads","icon":"bullseye","pages":[{"title":"Apple Ads in Qonversion: what it does and how to set it up","sidebarTitle":"Overview","href":"/docs/apple-ads"},{"title":"How do I connect Apple Ads to Qonversion?","sidebarTitle":"Connect Apple Ads","href":"/docs/apple-search-ads"},{"title":"How do I collect Apple Ads attribution with the Qonversion SDK?","sidebarTitle":"Collect attribution","href":"/docs/apple-ads-attribution"},{"title":"How do I read the Apple Ads report in Qonversion?","sidebarTitle":"Read the report","href":"/docs/apple-ads-report"},{"title":"Apple Ads report columns and metric definitions","sidebarTitle":"Columns and metrics","href":"/docs/apple-search-ads-analytics"},{"title":"What does the Budget usage column show for Apple Ads campaigns?","sidebarTitle":"Budget usage","href":"/docs/apple-ads-budget-usage"},{"title":"How fresh is Apple Ads data in Qonversion, and how do I fill in spend history?","sidebarTitle":"Data freshness and history","href":"/docs/apple-ads-data-freshness"},{"title":"How do I pause campaigns and change bids and budgets for Apple Ads in Qonversion?","sidebarTitle":"Manage campaigns","href":"/docs/apple-ads-manage-campaigns"},{"title":"How do I use Apple Ads through the Qonversion MCP server?","sidebarTitle":"Apple Ads via MCP","href":"/docs/mcp-apple-ads"},{"title":"Troubleshooting Apple Ads in Qonversion","sidebarTitle":"Troubleshooting","href":"/docs/apple-ads-troubleshooting"}]},{"group":"Remote Configs + A/B Tests","icon":"flask","pages":[{"title":"Remote Configs + A/B Tests","href":"/docs/experiments"},{"group":"Remote Configs","pages":[{"title":"Create Remote Config","href":"/docs/remote-config"},{"title":"How targeting and assignment works","href":"/docs/remote-config-targeting"},{"title":"Launch A/B test from Remote Config","href":"/docs/launch-test-from-remote-config"},{"title":"Migrate Offerings to Remote Configs","href":"/docs/migrate-offerings-to-remote-configs"}]},{"group":"A/B Tests","pages":[{"title":"Paywall experiments","href":"/docs/paywall-experiments"},{"title":"Launch experiments","href":"/docs/launch-experiments"},{"title":"Analyse experiments","href":"/docs/analyse-experiment"},{"title":"Pause experiments","href":"/docs/pause-experiments"},{"title":"Stop experiments","href":"/docs/finish-experiment"},{"title":"Splitting rules","href":"/docs/splitting-rules"}]}]},{"group":"Data and infrastructure","icon":"database","pages":[{"title":"How Qonversion handles subscription infrastructure","href":"/docs/infrastructure"},{"group":"Analytics","pages":[{"title":"Analytics","href":"/docs/analytics"},{"title":"Account Overview","href":"/docs/account-overview"},{"title":"Monitoring","href":"/docs/monitoring"},{"title":"Revenue","href":"/docs/revenue"},{"title":"New users","href":"/docs/users"},{"title":"Trials","href":"/docs/trials"},{"title":"Subscriptions","href":"/docs/subscriptions"},{"title":"Events","href":"/docs/events-analytics"},{"title":"Cohorts","href":"/docs/cohorts"}]},{"group":"Customers","pages":[{"title":"Customers","href":"/docs/customers"},{"title":"Edit Entitlements","href":"/docs/edit-entitlements"},{"title":"Customer Details","href":"/docs/customer-details"}]},{"group":"Raw data export","pages":[{"title":"Raw Data Export","href":"/docs/raw-data-reports"},{"title":"Scheduled Reports","href":"/docs/scheduled-reports"}]},{"group":"Refund Keeper","pages":[{"title":"What is Refund Keeper and how does it work?","sidebarTitle":"Refund Keeper","href":"/docs/refund-keeper"},{"title":"How to enable Refund Keeper for the App Store and Google Play","sidebarTitle":"Enable Refund Keeper","href":"/docs/enable-refund-keeper"},{"title":"How to read Refund Keeper analytics","sidebarTitle":"Refund Keeper Analytics","href":"/docs/analytics-overview"}]}]},{"group":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/docs/integrations-overview"},{"title":"Webhooks","href":"/docs/webhooks"},{"title":"Adjust","href":"/docs/adjust"},{"title":"Amazon S3","href":"/docs/amazon-s3"},{"title":"Amplitude","href":"/docs/amplitude"},{"title":"AppMetrica","href":"/docs/appmetrica"},{"title":"AppsFlyer","href":"/docs/appsflyer"},{"title":"Asapty","href":"/docs/asapty"},{"title":"Branch","href":"/docs/branch"},{"title":"Braze","href":"/docs/braze"},{"title":"CleverTap","href":"/docs/clevertap"},{"title":"Facebook Ads","href":"/docs/facebook"},{"title":"Firebase","href":"/docs/firebase"},{"title":"Google Ads","href":"/docs/google-ads"},{"title":"Google Cloud Storage","href":"/docs/google-cloud-storage"},{"title":"Kochava","href":"/docs/kochava"},{"title":"Mailchimp","href":"/docs/mailchimp"},{"title":"Mixpanel","href":"/docs/mixpanel"},{"title":"OneSignal","href":"/docs/onesignal"},{"title":"PostHog","href":"/docs/posthog"},{"title":"Pushwoosh","href":"/docs/pushwoosh"},{"title":"Segment","href":"/docs/segment"},{"title":"Singular","href":"/docs/singular"},{"title":"Slack","href":"/docs/slack"},{"title":"SplitMetrics Acquire","href":"/docs/splitmetrics"},{"title":"Tenjin","href":"/docs/tenjin"}]},{"group":"Platform resources","icon":"mobile","pages":[{"group":"Apple App Store","pages":[{"title":"Apple App Store","href":"/docs/apple-app-store"},{"title":"App Store Offer Codes","href":"/docs/appstore-offer-codes"},{"title":"App Store Privacy","href":"/docs/app-store-privacy"},{"title":"App Store Promoted Purchases","href":"/docs/app-store-promoted-purchases"},{"title":"App Store Small Business Program","href":"/docs/app-store-small-business-program"},{"title":"Apple Family Sharing","href":"/docs/apple-family-sharing"},{"title":"Apple Promotional Offers","href":"/docs/apple-promotional-offers"},{"title":"Migrate from SwiftyStoreKit","href":"/docs/swiftystorekit-alternative"}]},{"group":"Google Play Store","pages":[{"title":"Google Play Store","sidebarTitle":"Google Play Store","href":"/docs/google-play"},{"title":"Android In-App Products Setup","href":"/docs/android-in-app-products"},{"title":"Android test devices","href":"/docs/android-test-devices"},{"title":"Creating an App in Google Play Console","href":"/docs/app-creation-in-google-play-console"},{"title":"Google Play Data Safety","href":"/docs/google-play-data-safety"},{"title":"License testing","href":"/docs/license-testing"},{"title":"Publish your Android App","href":"/docs/app-publication-in-google-play-console"},{"title":"Upgrade and Downgrade in Google","href":"/docs/google-upgrade-downgrade-or-change-subscription"}]},{"title":"Deferred Purchases","href":"/docs/deferred-purchases"},{"title":"Non-Subscription Purchases","href":"/docs/non-subscription-purchases"},{"title":"Store Product Price Changes","href":"/docs/store-product-price-changes"},{"title":"Upgrade and Downgrade a Subscription","href":"/docs/upgrade-and-downgrade-a-subscription"},{"title":"Sample Apps","href":"/docs/sample-apps"},{"title":"Tutorials","href":"/docs/tutorials"}]},{"group":"No-Code Builder","icon":"paintbrush","pages":[{"title":"Overview","sidebarTitle":"No-Code Builder","description":"Build, test, and update in-app screens — instantly.","href":"/docs/no-codes"},{"group":"Installation","pages":[{"title":"Installation","href":"/docs/installation"},{"title":"Product Setup \u0026 Store Connection","description":"Connect your in-app products from App Store, Google Play, Stripe, or Paddle so they can be used in the No-Code Builder.","href":"/docs/product-setup-store-connection-1"}]},{"group":"Creating Screens","pages":[{"title":"Creating Screens","href":"/docs/getting-started"},{"group":"Components","pages":[{"title":"Components","href":"/docs/components"},{"title":"Product Blocks","href":"/docs/product-blocks"},{"title":"Social Proof","href":"/docs/social-proof"},{"title":"Carousels","href":"/docs/carousels"},{"title":"CTA Buttons","href":"/docs/cta-buttons"},{"title":"Feature List","href":"/docs/feature-list"},{"title":"Awards","href":"/docs/awards"},{"title":"Lottie Component Source","href":"/docs/no-code-component-lottie-src"}]},{"title":"AI Image Generation","href":"/docs/ai-image-generation"},{"title":"Properties Reference","href":"/docs/properties-reference"},{"title":"Variables","href":"/docs/variables-1"},{"title":"Localization","href":"/docs/ai-localization"},{"title":"Conditional Logic","href":"/docs/conditional-logic"},{"title":"Purchase Loader","href":"/docs/purchase-loader"}]},{"title":"Fallbacks","href":"/docs/fallbacks"},{"title":"Screens Preloading","href":"/docs/screens-preloading"},{"title":"Displaying No-Codes","href":"/docs/displaying-no-codes"},{"title":"Success and Failure Actions","href":"/docs/success-failure-actions"},{"title":"Custom Actions","href":"/docs/custom-actions"},{"title":"Screen Analytics","href":"/docs/no-codes-analytics"},{"title":"Using No-Codes with custom purchases handling","href":"/docs/using-no-codes-with-custom-purchases-handling"},{"group":"Web Funnel","pages":[{"title":"Web Funnel — Sell subscriptions on the web","sidebarTitle":"Web Funnel","href":"/docs/web-funnel"},{"title":"Web Funnel — Redeem web purchases in your app","sidebarTitle":"Web Funnel redemption","href":"/docs/web-funnel-redemption"}]}]},{"group":"SDK migration guides","icon":"arrow-up-right-dots","pages":[{"title":"[Dec 2026] Migration guide. CocoaPods → Swift Package Manager","sidebarTitle":"CocoaPods → SPM (Dec 2026)","href":"/docs/dec-2026-migration-guide-cocoapods-to-spm"},{"title":"Overview","sidebarTitle":"Cordova 7 Migration","href":"/docs/jan-2026-migration-guide-cordova-7"},{"title":"[Jan 2026] Migration guide. Capacitor 1.","href":"/docs/jan-2026-migration-guide-capacitor-1"},{"title":"[Nov 2025] Migration guide. iOS 6.0.0","href":"/docs/nov-2025-migration-guide-ios-600"},{"title":"[Sep 2025] Migration guide. React Native 10.","href":"/docs/sep-2025-migration-guide-react-native-10"},{"title":"[July 2025] Migration guide. Google Play Billing Library 8.","href":"/docs/july-2025-migration-guide-google-play-billing-library-8"},{"group":"[Jul 2024] Google Play Billing Library 7","expanded":false,"pages":[{"title":"[Jul 2024] Migration guide. Google Play Billing Library 7.","href":"/docs/jan-2024-migration-guide-google-play-billing-library-6-copy"},{"title":"Android SDK 7.x to 8.x migration guide","href":"/docs/android-8-migration-guide"},{"title":"Flutter SDK 8.x to 9.x migration guide","href":"/docs/flutter-9-migration-guide"},{"title":"React Native SDK 7.x to 8.x migration guide","href":"/docs/react-native-8-migration-guide"},{"title":"Unity SDK 7.x to 8.x migration guide","href":"/docs/unity-8-migration-guide"},{"title":"Cordova SDK 5.x to 6.x migration guide","href":"/docs/cordova-6-migration-guide"}]},{"group":"[Jan 2024] Google Play Billing Library 6","expanded":false,"pages":[{"title":"[Jan 2024] Migration guide. Google Play Billing Library 6.","href":"/docs/qonversion-sdk-major-version-copy"},{"title":"Android SDK 6.x to 7.x migration guide","href":"/docs/android-7-migration-guide"},{"title":"Flutter SDK 7.x to 8.x migration guide","href":"/docs/flutter-8-migration-guide"},{"title":"React Native SDK 6.x to 7.x migration guide","href":"/docs/react-native-7-migration-guide"},{"title":"Unity SDK 6.x to 7.x migration guide","href":"/docs/unity-7-migration-guide"},{"title":"Cordova SDK 4.x to 5.x migration guide","href":"/docs/cordova-5-migration-guide"}]},{"group":"[Aug 2023] Migration Guide","expanded":false,"pages":[{"title":"[Aug 2023] Migration Guide","href":"/docs/qonversion-sdk-major-version"},{"title":"iOS 5.+ migration guide","href":"/docs/ios-5-migration-guide"},{"title":"Android 6.+ migration guide","href":"/docs/android-6-migration-guide"},{"title":"Flutter 7.+ migration guide","href":"/docs/flutter-7-migration-guide"},{"title":"React Native 6.+ migration guide","href":"/docs/react-native-6-migration-guide"},{"title":"Unity 6.+ migration guide","href":"/docs/unity-6-migration-guide"},{"title":"Cordova 4.+ migration guide","href":"/docs/cordova-4-migration-guide"},{"title":"Web 1.+ migration guide","href":"/docs/web-1-migration-guide"}]},{"group":"[Dec 2022] Migration Guide","expanded":false,"pages":[{"title":"[Dec 2022] Migration Guide","href":"/docs/migrate-to-the-actual-qonversion-sdk-version-december-2022"},{"title":"iOS 3.+ migration guide","href":"/docs/ios-3-migration-guide"},{"title":"Android 4.+ migration guide","href":"/docs/android-4-migration-guide"},{"title":"Flutter 5.+ migration guide","href":"/docs/flutter-5-migration-guide"},{"title":"React Native 4.+ migration guide","href":"/docs/react-native-4-migration-guide"},{"title":"Unity 4.+ migration guide","href":"/docs/unity-4-migration-guide"}]}]}]},{"tab":"For agents","icon":"robot","pages":[{"title":"For agents","href":"/docs/for-agents"}]},{"tab":"API reference","icon":"code","pages":[{"title":"API reference","href":"/reference/v4/overview"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Installation - Qonversion","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}