Miniwall Docs
SDK

iOS

Requirements and the calls specific to the Miniwall iOS SDK, covering StoreKit 2, SwiftUI, UIKit and the privacy manifest.

The iOS SDK is the Swift package MiniwallSDK. It draws screens with SwiftUI and has no third-party dependencies. It needs iOS 16 or later and Swift 5.9. Installation shows how to add it (Swift Package Manager or CocoaPods) and call configure. Everything in the other SDK pages applies; this page collects what is specific to iOS.

Calls at a glance

WhatCall
Set upMiniwall.configure(apiKey:options:)
Show a screentry await Miniwall.present(placement:options:), Miniwall.present(_:options:from:)
Embed a screenMiniwallView(source, options:onFinish:)
Load aheadawait Miniwall.preload(placements:)
Auto placementsMiniwall.startAutoPlacements(options:onResult:), Miniwall.track(_:)
AttributesMiniwall.setAttributes(_:)
After an outside purchaseMiniwall.reportPurchase(packageId:paywallId:)
Forget the userMiniwall.reset(placements:)
Package IDs of a screenMiniwall.packageIds(in:)

present and the auto placements calls run on the main actor. The timeout option is timeout, in seconds, and the API URL option is apiURL.

StoreKit 2

Miniwall.products(from:), Miniwall.storeKitPurchase(_:) and Miniwall.storeKitRestore() connect StoreKit 2 to a screen. They are optional. See Purchases and prices.

UIKit

present finds the top view controller and presents the screen over it. Pass from: to choose the presenter:

let result = try await Miniwall.present(.placement("upgrade_button"), options: options, from: self)

To embed in UIKit, host MiniwallView in a UIHostingController.

Display

A full-screen cover, a page sheet (a form sheet on iPad), a sheet as tall as the content, a banner or a toast, depending on the placement. See Display modes.

Privacy manifest

The package includes PrivacyInfo.xcprivacy. See Events and privacy.

On this page