Native templates
Prebuilt React Native paywall and onboarding flows that ship inside the SDK — the dashboard edits words, six colours, and which screens run.
A locked template's layout lives in SDK code; its config carries only copy, a palette, and a screen toggle map. That trade is deliberate: no canvas and nothing to drag, so a config can never break a layout, and every change still reaches installed apps on the next config refresh.
What ships in the SDK
| Kind | Key | Screens |
|---|---|---|
| Paywall | house_ai | 5-screen flow: free_try → trial_notification → trial_reel → exclusive_offer → one_time_offer |
| Paywall | template_2 | 4-screen flow: intro → features → notification → pricing |
| Onboarding | house_ai | 24 steps; welcome and plan_ready always on |
| Onboarding | temp4 | 8 steps, light theme — welcome, value prop, then questions |
| Onboarding | temp5 | 4 steps, fitness-oriented |
| Onboarding | temp6 | 7 steps, light theme — welcome, four questions, closing pitch |
Copy fields accept placeholders — {price}, {percent}, {per_week}, {standard_price} — substituted at render from the live store package. Unknown placeholders stay verbatim on purpose, and the backend rejects literal currency amounts in copy so a hard-coded "$9.99" can never drift from the store's truth.
Old builds and new templates
A template key the installed SDK doesn't know renders a fallback — "Update the app to see this offer." with a working Close — and logs paywall_template_unsupported. The dashboard's preview mirrors the SDK registry, so what previews is what devices can actually render.
Registering your own
import { registerPaywallTemplate } from "@fictura/sdk";
registerPaywallTemplate({
key: "my_template",
name: "My template",
screens: MY_SCREENS, // your React Native screens
defaultTheme: MY_THEME, // the palette the dashboard edits
});Imagery is host-provided through the assets prop rather than shipped in the package — templates name the assets they want and your app supplies them, which keeps the npm install small and your art out of a third-party bundle.
Served designs
A paywall or onboarding flow written in HTML, published from the dashboard, rendered in a hardened webview — the way a brand-new design reaches installed apps.
Onboarding flows
Server-driven onboarding: steps, questions and permission prompts configured on the dashboard, rendered by one component, measured end to end.