digia-technology-private-limited/digia_engage_ios
Digia Engage is an iOS SDK for rendering server-driven, Digia-managed experiences inside host applications. It provides dynamic page rendering, slots, overlays, dialogs, toasts, action execution, and cached image loading for SwiftUI-based integrations.
Requirements
| | Minimum | | ----- | ------- | | iOS | 17.0 | | Swift | 7.0 | | Xcode | 16.0 |
Installation
Swift Package Manager
Add the package to your Package.swift:
dependencies: [
.package(
url: "https://github.com/Digia-Technology-Private-Limited/digia_engage_ios.git",
from: "2.3.1"
),
]Then add DigiaEngage as a target dependency:
.target(
name: "YourTarget",
dependencies: [
.product(name: "DigiaEngage", package: "digia_engage_ios"),
]
)Or add it directly in Xcode via File → Add Package Dependencies and enter the repository URL.
CocoaPods
DigiaEngage is not published to the CocoaPods trunk. To use it with CocoaPods, point your Podfile at a local checkout:
pod 'DigiaEngage', '~> 2.3.1'Then run:
pod installUsage
Initialize the SDK
import DigiaEngage
try await Digia.initialize(
DigiaConfig(apiKey: "YOUR_API_KEY")
)Render an experience
import DigiaEngage
import SwiftUI
struct ContentView: View {
var body: some View {
DigiaHost {
DUIFactory.shared.createInitialPage()
}
}
}Render a slot
DigiaSlot("hero-banner")Plugins
Digia Engage has a plugin architecture for CEP integrations.
Digia.register(YourCEPPlugin())Available plugins:
Sample App
A sample app is included in SampleApp/. It links the local Swift package (DigiaEngageSample.xcodeproj → package at ..). To run it:
open SampleApp/DigiaEngageSample.xcodeprojSelect the DigiaEngageSample scheme and run on an iOS 16+ simulator (Xcode resolves package dependencies automatically).
License
BSL 1.1 — Business Source License 1.1. Source available; production use requires a license from Digia Technology.
Built with ❤️ by the Digia team
Package Metadata
Repository: digia-technology-private-limited/digia_engage_ios
Default branch: main
README: README.md