From ec9322d5abf59aa4ef52d1d0ea87d65dbd23dc72 Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 4 Mar 2026 14:03:12 -0600 Subject: [PATCH 1/5] Add Local Resources docs and SDK option Add documentation and SDK reference for Local Resources. Creates paywall editor doc (dashboard/paywall-editor-local-resources.mdx) and iOS guide (ios/guides/local-resources.mdx), updates dashboard and iOS meta.json to surface the new guides, and extends SuperwallOptions (ios/sdk-reference/SuperwallOptions.mdx) with a localResources [String: URL] property plus example and notes. Documents availability (iOS SDK v4.13.0+, Android v2.5.0+), fallback behavior, and editor discovery of reported resource IDs. --- .../dashboard-creating-paywalls/meta.json | 1 + .../paywall-editor-local-resources.mdx | 77 +++++++++++++++ content/docs/ios/guides/local-resources.mdx | 95 +++++++++++++++++++ content/docs/ios/meta.json | 1 + .../ios/sdk-reference/SuperwallOptions.mdx | 26 +++++ 5 files changed, 200 insertions(+) create mode 100644 content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx create mode 100644 content/docs/ios/guides/local-resources.mdx diff --git a/content/docs/dashboard/dashboard-creating-paywalls/meta.json b/content/docs/dashboard/dashboard-creating-paywalls/meta.json index 7dbacfc1..44a24211 100644 --- a/content/docs/dashboard/dashboard-creating-paywalls/meta.json +++ b/content/docs/dashboard/dashboard-creating-paywalls/meta.json @@ -4,6 +4,7 @@ "paywall-editor-overview", "paywall-editor-layout", "paywall-editor-styling-elements", + "paywall-editor-local-resources", "paywall-editor-stacks", "paywall-editor-drawer-component", "paywall-editor-navigation-component", diff --git a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx new file mode 100644 index 00000000..bbf5c999 --- /dev/null +++ b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx @@ -0,0 +1,77 @@ +--- +title: "Local Resources" +description: "Use images, videos, and other media bundled in your app for faster paywall loading and offline support." +--- + +Local resources let you reference media files — such as images and videos — that are bundled directly in your app rather than hosted on a remote server. This means faster load times, no network dependency for those assets, and a smoother experience for your users. + + + Local resources require **iOS SDK v4.13.0+** or **Android SDK v2.5.0+**. They are not available on + other platforms at this time. + + +### How it works + +Instead of pointing an image or video to a URL, you can point it to a **local resource ID**. This ID maps to a file that the developer has registered in the native SDK. When the paywall loads, the SDK intercepts the request and serves the file directly from the device — no network call needed. + +The editor discovers which resource IDs are available by looking at device attribute events your app has reported in the last 7 days. This means at least one device running your app with the SDK configured must have reported its local resources before they appear in the editor. + +### Setting a local resource on an image + +To use a local resource for an image component: + +1. **Select** the image component in the Layout tab or on the canvas. +2. In the component editor, find the image source property. +3. **Click** the **+ Add Local Resource** button. +4. A dropdown will appear listing all resource IDs that devices have reported recently. **Select** the one you want. + +{/* TODO: Add screenshot of the local resource dropdown in the image property editor */} +![](/images/placeholder-local-resource-image-dropdown.png) + +The image source will update to use the selected local resource. You can still provide a regular image URL as a **fallback** — if the local resource is unavailable (for example, in the web preview or on a device that hasn't registered that resource), the paywall will fall back to the remote URL automatically. + +### Setting a local resource on a video + +The same flow applies to video components. Select a video, click **+ Add Local Resource**, and choose the resource ID from the dropdown. A fallback URL is recommended for the same reasons as images. + +{/* TODO: Add screenshot of the local resource dropdown in the video property editor */} +![](/images/placeholder-local-resource-video-dropdown.png) + +### Fallback behavior + +When a local resource is set, the paywall rendering follows this order: + +1. **Try the local resource** — the SDK attempts to load the file from the device using the registered resource ID. +2. **Fall back to the remote URL** — if the local file isn't available (not registered, missing from the bundle, or running in the web preview), the regular image or video URL is used instead. + +This means you can safely set a local resource without breaking the paywall for users on older SDK versions or other platforms. + +### Availability in the editor + +The resource ID dropdown is populated from device attribute events sent by your app. If you don't see any resource IDs: + +- Make sure at least one test device is running your app with the local resources configured in the SDK (see the [iOS guide](/ios/guides/local-resources) for setup instructions). +- The device must have opened a paywall or otherwise triggered a device attributes event within the **last 7 days**. +- Only **iOS** and **Android** platforms support local resources. The dropdown will not appear for other platforms. + + + If a resource ID hasn't been reported by any device in the last 7 days, the editor will show a + warning. This usually means no active devices have that resource registered, so double-check your + SDK configuration. + + +### When to use local resources + +Local resources are a great fit for: + +- **Onboarding videos or hero images** that are critical to the first paywall experience and shouldn't depend on network conditions. +- **Large media files** where you want to avoid CDN costs or ensure instant loading. +- **Offline scenarios** where users may not have a reliable connection when the paywall is presented. + +For smaller or frequently changing images, remote URLs are still the simpler choice since they don't require an app update to change. + +### Related + +- [iOS SDK: Local Resources Guide](/ios/guides/local-resources) — How to register local resources in the iOS SDK. +- [Styling Elements](/paywall-editor-styling-elements) — General component styling and image editing. +- [Liquid inside Image URLs](/paywall-editor-liquid#liquid-inside-image-urls) — Using dynamic URLs for images. diff --git a/content/docs/ios/guides/local-resources.mdx b/content/docs/ios/guides/local-resources.mdx new file mode 100644 index 00000000..2080728b --- /dev/null +++ b/content/docs/ios/guides/local-resources.mdx @@ -0,0 +1,95 @@ +--- +title: "Local Resources" +description: "Bundle images, videos, and other media in your app for use in paywalls — enabling faster load times and offline support." +--- + +Local resources allow you to register media files bundled in your app (images, videos, audio) so that paywalls can reference them by ID instead of loading them from a remote URL. The SDK serves these files directly from disk, which means instant loading and no network dependency. + + + Local resources require **iOS SDK v4.13.0+**. Make sure you're on a compatible version before + using this feature. + + +## Registering local resources + +Set the `localResources` property on `SuperwallOptions` **before** calling `configure()`. Each entry maps a **resource ID** (a string you choose) to a local file URL: + +```swift Swift +let options = SuperwallOptions() +options.localResources = [ + "hero-image": Bundle.main.url(forResource: "hero", withExtension: "png")!, + "onboarding-video": Bundle.main.url(forResource: "onboarding", withExtension: "mp4")! +] + +Superwall.configure(apiKey: "pk_your_api_key", options: options) +``` + +The resource IDs you choose here are the same IDs you'll select in the [paywall editor](/paywall-editor-local-resources) when configuring an image or video component. + + + Local resources must be set **before** calling `configure()`. Resources added after configuration + will not be available for paywalls that have already loaded. + + +## How it works + +Once configured, the SDK: + +1. **Reports your resource IDs** to Superwall as part of device attributes. This is how the [paywall editor](/paywall-editor-local-resources) knows which IDs are available when you're building a paywall. +2. **Registers a custom URL scheme** (`swlocal://`) with the paywall's web view. When the paywall HTML references `swlocal://hero-image`, the SDK intercepts that request and serves the file from disk. +3. **Detects the MIME type** automatically based on the file extension, so images, videos, and audio all render correctly. + +## Supported file types + +The SDK supports a wide range of media formats: + +| Category | Formats | +| -------- | ------- | +| Images | PNG, JPEG, GIF, WebP, SVG, HEIC, HEIF, AVIF, BMP, TIFF | +| Videos | MP4, MOV, WebM, AVI, HEVC/H.265 | +| Audio | MP3, WAV, M4A/AAC, OGG | +| Other | JSON, PDF, HTML, CSS, JavaScript | + +## Choosing resource IDs + +Resource IDs are simple strings that act as the key between your app and the paywall editor. A few tips: + +- **Use descriptive names** like `"hero-image"` or `"onboarding-video"` rather than `"img1"`. +- **Keep them stable** — if you change a resource ID, you'll need to update any paywalls that reference it in the editor. +- **They're case-sensitive** — `"Hero-Image"` and `"hero-image"` are different IDs. + +## Fallback behavior + +In the paywall editor, you can set both a local resource and a remote URL on the same image or video component. If the local file can't be loaded (for example, the resource ID isn't registered or the file is missing from the bundle), the paywall automatically falls back to the remote URL. This ensures paywalls still work on older SDK versions or if a resource is accidentally removed from the app bundle. + +## Debugging + +The SDK includes a built-in debug view for verifying your local resources are set up correctly. It shows each registered resource ID, its file path, and a preview of the content. + + + If a resource isn't showing up in the paywall editor dropdown, make sure your test device has + opened a paywall (or otherwise triggered a device attributes event) after configuring + `localResources`. The editor only shows resource IDs reported in the last 7 days. + + +## Example: Onboarding paywall with a bundled video + +A common use case is bundling an onboarding video so it loads instantly the first time a user sees your paywall: + +```swift Swift +// In your app's initialization +let options = SuperwallOptions() +options.localResources = [ + "onboarding-video": Bundle.main.url(forResource: "welcome", withExtension: "mp4")!, + "app-logo": Bundle.main.url(forResource: "logo", withExtension: "png")! +] + +Superwall.configure(apiKey: "pk_your_api_key", options: options) +``` + +Then in the paywall editor, select "onboarding-video" as the local resource for your video component and "app-logo" for the logo image. Set remote URLs as fallbacks for both. + +## Related + +- [`SuperwallOptions`](/ios/sdk-reference/SuperwallOptions) — Full configuration reference. +- [Paywall Editor: Local Resources](/paywall-editor-local-resources) — How to use local resources in the paywall editor. diff --git a/content/docs/ios/meta.json b/content/docs/ios/meta.json index 92fc4916..4c432f4d 100644 --- a/content/docs/ios/meta.json +++ b/content/docs/ios/meta.json @@ -59,6 +59,7 @@ "guides/experimental-flags", "guides/testing-purchases", "guides/test-mode", + "guides/local-resources", "guides/embedded-paywalls-in-scrollviews", "guides/superwall-deep-links", "guides/app-privacy-nutrition-labels", diff --git a/content/docs/ios/sdk-reference/SuperwallOptions.mdx b/content/docs/ios/sdk-reference/SuperwallOptions.mdx index bcdd4e04..518a70e5 100644 --- a/content/docs/ios/sdk-reference/SuperwallOptions.mdx +++ b/content/docs/ios/sdk-reference/SuperwallOptions.mdx @@ -34,6 +34,7 @@ public final class SuperwallOptions: NSObject { public var localeIdentifier: String? public var shouldBypassAppTransactionCheck: Bool public var testModeBehavior: TestModeBehavior + public var localResources: [String: URL] } ``` @@ -79,6 +80,12 @@ public final class SuperwallOptions: NSObject { "Controls when the SDK enters test mode. Options: `.automatic`, `.whenEnabledForUser`, `.always`, `.never`. See the [Test Mode guide](/ios/guides/test-mode) for details.", default: ".automatic", }, + localResources: { + type: "[String: URL]", + description: + "A dictionary mapping resource IDs to local file URLs. Paywalls can reference these IDs to load images, videos, and other media directly from the app bundle instead of a remote URL. Must be set before calling `configure()`. See the [Local Resources guide](/ios/guides/local-resources) for details. Available in version 4.13.0+.", + default: "[:]", + }, }} /> @@ -197,6 +204,25 @@ func configureSuperwallForDebug() { } ``` +Local resources configuration: + +```swift +let options = SuperwallOptions() + +// Register bundled media for use in paywalls +options.localResources = [ + "hero-image": Bundle.main.url(forResource: "hero", withExtension: "png")!, + "onboarding-video": Bundle.main.url(forResource: "onboarding", withExtension: "mp4")! +] + +Superwall.configure( + apiKey: "pk_your_api_key", + options: options +) +``` + +See the [Local Resources guide](/ios/guides/local-resources) for a full walkthrough. + ## Related - [`PaywallOptions`](/ios/sdk-reference/PaywallOptions) From 7adff066e9c6eaddbe3b1976af5993b7f4d783fd Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 4 Mar 2026 14:06:29 -0600 Subject: [PATCH 2/5] Reword some stuff --- .../paywall-editor-local-resources.mdx | 16 ++++++++-------- content/docs/ios/guides/local-resources.mdx | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx index bbf5c999..e5e92e2e 100644 --- a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx +++ b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx @@ -3,7 +3,7 @@ title: "Local Resources" description: "Use images, videos, and other media bundled in your app for faster paywall loading and offline support." --- -Local resources let you reference media files — such as images and videos — that are bundled directly in your app rather than hosted on a remote server. This means faster load times, no network dependency for those assets, and a smoother experience for your users. +Local resources let you reference media files (such as images and videos) that are bundled directly in your app rather than hosted on a remote server. This means faster load times, no network dependency for those assets, and a smoother experience for your users. Local resources require **iOS SDK v4.13.0+** or **Android SDK v2.5.0+**. They are not available on @@ -12,7 +12,7 @@ Local resources let you reference media files — such as images and videos — ### How it works -Instead of pointing an image or video to a URL, you can point it to a **local resource ID**. This ID maps to a file that the developer has registered in the native SDK. When the paywall loads, the SDK intercepts the request and serves the file directly from the device — no network call needed. +Instead of pointing an image or video to a URL, you can point it to a **local resource ID**. This ID maps to a file that the developer has registered in the native SDK. When the paywall loads, the SDK intercepts the request and serves the file directly from the device. No network call is required. The editor discovers which resource IDs are available by looking at device attribute events your app has reported in the last 7 days. This means at least one device running your app with the SDK configured must have reported its local resources before they appear in the editor. @@ -28,7 +28,7 @@ To use a local resource for an image component: {/* TODO: Add screenshot of the local resource dropdown in the image property editor */} ![](/images/placeholder-local-resource-image-dropdown.png) -The image source will update to use the selected local resource. You can still provide a regular image URL as a **fallback** — if the local resource is unavailable (for example, in the web preview or on a device that hasn't registered that resource), the paywall will fall back to the remote URL automatically. +The image source will update to use the selected local resource. You can still provide a regular image URL as a **fallback**. If the local resource is unavailable (for example, in the web preview or on a device that hasn't registered that resource), the paywall will fall back to the remote URL automatically. ### Setting a local resource on a video @@ -41,8 +41,8 @@ The same flow applies to video components. Select a video, click **+ Add Local R When a local resource is set, the paywall rendering follows this order: -1. **Try the local resource** — the SDK attempts to load the file from the device using the registered resource ID. -2. **Fall back to the remote URL** — if the local file isn't available (not registered, missing from the bundle, or running in the web preview), the regular image or video URL is used instead. +1. **Try the local resource.** The SDK attempts to load the file from the device using the registered resource ID. +2. **Fall back to the remote URL.** If the local file isn't available (not registered, missing from the bundle, or running in the web preview), the regular image or video URL is used instead. This means you can safely set a local resource without breaking the paywall for users on older SDK versions or other platforms. @@ -72,6 +72,6 @@ For smaller or frequently changing images, remote URLs are still the simpler cho ### Related -- [iOS SDK: Local Resources Guide](/ios/guides/local-resources) — How to register local resources in the iOS SDK. -- [Styling Elements](/paywall-editor-styling-elements) — General component styling and image editing. -- [Liquid inside Image URLs](/paywall-editor-liquid#liquid-inside-image-urls) — Using dynamic URLs for images. +- [iOS SDK: Local Resources Guide](/ios/guides/local-resources): How to register local resources in the iOS SDK. +- [Styling Elements](/paywall-editor-styling-elements): General component styling and image editing. +- [Liquid inside Image URLs](/paywall-editor-liquid#liquid-inside-image-urls): Using dynamic URLs for images. diff --git a/content/docs/ios/guides/local-resources.mdx b/content/docs/ios/guides/local-resources.mdx index 2080728b..95512fdc 100644 --- a/content/docs/ios/guides/local-resources.mdx +++ b/content/docs/ios/guides/local-resources.mdx @@ -1,6 +1,6 @@ --- title: "Local Resources" -description: "Bundle images, videos, and other media in your app for use in paywalls — enabling faster load times and offline support." +description: "Bundle images, videos, and other media in your app for use in paywalls, enabling faster load times and offline support." --- Local resources allow you to register media files bundled in your app (images, videos, audio) so that paywalls can reference them by ID instead of loading them from a remote URL. The SDK serves these files directly from disk, which means instant loading and no network dependency. @@ -55,8 +55,8 @@ The SDK supports a wide range of media formats: Resource IDs are simple strings that act as the key between your app and the paywall editor. A few tips: - **Use descriptive names** like `"hero-image"` or `"onboarding-video"` rather than `"img1"`. -- **Keep them stable** — if you change a resource ID, you'll need to update any paywalls that reference it in the editor. -- **They're case-sensitive** — `"Hero-Image"` and `"hero-image"` are different IDs. +- **Keep them stable.** If you change a resource ID, you'll need to update any paywalls that reference it in the editor. +- **They're case-sensitive.** `"Hero-Image"` and `"hero-image"` are different IDs. ## Fallback behavior @@ -91,5 +91,5 @@ Then in the paywall editor, select "onboarding-video" as the local resource for ## Related -- [`SuperwallOptions`](/ios/sdk-reference/SuperwallOptions) — Full configuration reference. -- [Paywall Editor: Local Resources](/paywall-editor-local-resources) — How to use local resources in the paywall editor. +- [`SuperwallOptions`](/ios/sdk-reference/SuperwallOptions): Full configuration reference. +- [Paywall Editor: Local Resources](/paywall-editor-local-resources): How to use local resources in the paywall editor. From 84b0db6de75ae7650a7515d112a7db6cdf95e7cc Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Thu, 5 Mar 2026 14:33:03 -0600 Subject: [PATCH 3/5] REviewsuf --- content/docs/ios/guides/local-resources.mdx | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/content/docs/ios/guides/local-resources.mdx b/content/docs/ios/guides/local-resources.mdx index 95512fdc..fb12f419 100644 --- a/content/docs/ios/guides/local-resources.mdx +++ b/content/docs/ios/guides/local-resources.mdx @@ -31,14 +31,6 @@ The resource IDs you choose here are the same IDs you'll select in the [paywall will not be available for paywalls that have already loaded. -## How it works - -Once configured, the SDK: - -1. **Reports your resource IDs** to Superwall as part of device attributes. This is how the [paywall editor](/paywall-editor-local-resources) knows which IDs are available when you're building a paywall. -2. **Registers a custom URL scheme** (`swlocal://`) with the paywall's web view. When the paywall HTML references `swlocal://hero-image`, the SDK intercepts that request and serves the file from disk. -3. **Detects the MIME type** automatically based on the file extension, so images, videos, and audio all render correctly. - ## Supported file types The SDK supports a wide range of media formats: @@ -47,8 +39,6 @@ The SDK supports a wide range of media formats: | -------- | ------- | | Images | PNG, JPEG, GIF, WebP, SVG, HEIC, HEIF, AVIF, BMP, TIFF | | Videos | MP4, MOV, WebM, AVI, HEVC/H.265 | -| Audio | MP3, WAV, M4A/AAC, OGG | -| Other | JSON, PDF, HTML, CSS, JavaScript | ## Choosing resource IDs From 72346f627ab58f2e62599cd67e69d003a94d16ee Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Thu, 5 Mar 2026 14:47:49 -0600 Subject: [PATCH 4/5] Images --- .../paywall-editor-local-resources.mdx | 6 +----- .../images/paywall-editor-local-resource.jpg | Bin 0 -> 63117 bytes 2 files changed, 1 insertion(+), 5 deletions(-) create mode 100644 content/docs/images/paywall-editor-local-resource.jpg diff --git a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx index e5e92e2e..ccc3d035 100644 --- a/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx +++ b/content/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources.mdx @@ -25,8 +25,7 @@ To use a local resource for an image component: 3. **Click** the **+ Add Local Resource** button. 4. A dropdown will appear listing all resource IDs that devices have reported recently. **Select** the one you want. -{/* TODO: Add screenshot of the local resource dropdown in the image property editor */} -![](/images/placeholder-local-resource-image-dropdown.png) +![](/images/paywall-editor-local-resource.jpg) The image source will update to use the selected local resource. You can still provide a regular image URL as a **fallback**. If the local resource is unavailable (for example, in the web preview or on a device that hasn't registered that resource), the paywall will fall back to the remote URL automatically. @@ -34,9 +33,6 @@ The image source will update to use the selected local resource. You can still p The same flow applies to video components. Select a video, click **+ Add Local Resource**, and choose the resource ID from the dropdown. A fallback URL is recommended for the same reasons as images. -{/* TODO: Add screenshot of the local resource dropdown in the video property editor */} -![](/images/placeholder-local-resource-video-dropdown.png) - ### Fallback behavior When a local resource is set, the paywall rendering follows this order: diff --git a/content/docs/images/paywall-editor-local-resource.jpg b/content/docs/images/paywall-editor-local-resource.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51edfe26c5df442c560cf38102a5b105faf50b23 GIT binary patch literal 63117 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 DXDbI> literal 0 HcmV?d00001 From 2e817e8054e65134a91eb5ce8c1bf143e5861c18 Mon Sep 17 00:00:00 2001 From: Duncan Crawbuck Date: Mon, 9 Mar 2026 10:39:15 -0700 Subject: [PATCH 5/5] fix: link paths --- content/docs/ios/guides/local-resources.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/ios/guides/local-resources.mdx b/content/docs/ios/guides/local-resources.mdx index fb12f419..7c3a1eec 100644 --- a/content/docs/ios/guides/local-resources.mdx +++ b/content/docs/ios/guides/local-resources.mdx @@ -24,7 +24,7 @@ options.localResources = [ Superwall.configure(apiKey: "pk_your_api_key", options: options) ``` -The resource IDs you choose here are the same IDs you'll select in the [paywall editor](/paywall-editor-local-resources) when configuring an image or video component. +The resource IDs you choose here are the same IDs you'll select in the [paywall editor](/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources) when configuring an image or video component. Local resources must be set **before** calling `configure()`. Resources added after configuration @@ -82,4 +82,4 @@ Then in the paywall editor, select "onboarding-video" as the local resource for ## Related - [`SuperwallOptions`](/ios/sdk-reference/SuperwallOptions): Full configuration reference. -- [Paywall Editor: Local Resources](/paywall-editor-local-resources): How to use local resources in the paywall editor. +- [Paywall Editor: Local Resources](/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources): How to use local resources in the paywall editor.