Miniwall Docs
Mobile SDK

Versioning

How the Mobile SDK packages are versioned, what stays compatible, and how new components and display formats reach older apps.

Packages

PlatformPackageVersion
iOSMiniwallSDK and MiniwallCore (Swift Package Manager, CocoaPods)0.1.0
Androidcom.miniwall:sdk0.1.0
React Native@miniwall/react-native0.1.0
Flutterminiwall_flutter0.1.0

All use semver. While the major version is 0, a minor bump may include breaking changes, so pin the version. React Native and Flutter depend on the native SDKs of the same version.

The SDK version is exposed as Miniwall.version on iOS and Miniwall.VERSION on Android, and sent with every request in the X-Miniwall-SDK header (for example ios/0.1.0).

Compatibility rules

  • Screen JSON is not versioned by the SDK: it draws the format the editor produces. Publishing a screen does not need an app release.
  • Components an app does not know. When you publish a screen that uses a component a user's installed SDK version cannot draw, the SDK draws that component's fallback if the screen has one, and otherwise leaves it out. It never crashes. Update the SDK to see the new component.
  • New options are additive. Existing calls behave as before. Result types only grow: code that checks for purchased and closed keeps working when action and skipped exist.
  • Display formats. The SDK asks the API with v=2, so it receives every format; formats a phone has no equivalent for are mapped to the nearest one (see Display modes).
  • Triggers. An app is only given triggers it can fire (app open, delay, event). Website triggers are never sent to it, and app triggers are never sent to websites.

Platform requirements

PlatformMinimum
iOSiOS 16, Swift 5.9
AndroidAPI 24 (Android 7.0). Variable fonts need API 26; on older versions the font's default weight is used.
React Native0.74
Flutter3.22

On this page