2. Initialise the SDK
The DataSapien Mobile SDK is what runs Journeys, stores MeData on-device and talks to the Orchestrator. You add it to your app once and initialise it on every app launch.
There is a full installation guide for each platform — they cover dependencies, manifests/Info.plist, OAuth redirect setup and capabilities. Pick yours:
- iOS
- Android
- Flutter
- React Native
Follow the full guide: Install the SDK on iOS.
The minimum to initialise the SDK looks like:
import DataSapien
let config = DataSapienConfig
.Builder()
.setAuth(
url: "<YOUR_AUTH_URL>",
clientId: "<YOUR_CLIENT_ID>",
clientSecret: "<YOUR_CLIENT_SECRET>",
scope: "<YOUR_AUTH_SCOPE>"
)
.setHost(
baseUrl: "<YOUR_HOST_URL>",
mediaUrl: "<YOUR_MEDIA_URL>"
)
.setdebug(true)
.build()
DataSapien.initialize(dataSapienConfig: config)
DataSapien.setup { result in
switch result {
case .success: break // SDK ready
case .failure(let e): print(e)
}
}
Follow the full guide: Install the SDK on Android.
The minimum to initialise the SDK looks like:
val config = DataSapienConfig.Builder()
.setAuth(
authUrl = "<YOUR_AUTH_URL>",
authClientId = "<YOUR_CLIENT_ID>",
authScope = "<YOUR_AUTH_SCOPE>",
authClientSecret = "<YOUR_CLIENT_SECRET>"
)
.setHostUrl("<YOUR_HOST_URL>")
.setMediaUrl("<YOUR_MEDIA_URL>")
.build()
DataSapien.initialize(this, config)
lifecycleScope.launch {
DataSapien.setup(this@MainActivity)
.onSuccess { /* SDK ready */ }
.onFailure { /* handle */ }
}
Follow the full guide: Install the SDK in a Flutter app.
The minimum to initialise the SDK looks like:
import 'package:datasapien_sdk/datasapien_sdk.dart';
final config = DataSapienConfig.builder()
.setAuth(
authUrl: '<YOUR_AUTH_URL>',
authClientId: '<YOUR_CLIENT_ID>',
authClientSecret: '<YOUR_CLIENT_SECRET>',
authScope: '<YOUR_AUTH_SCOPE>',
)
.setHostUrl('<YOUR_HOST_URL>')
.setMediaUrl('<YOUR_MEDIA_URL>')
.build();
await DataSapien.initialize(config);
await DataSapien.setup();
Follow the full guide: Install the SDK in a React Native app.
The minimum to initialise the SDK looks like:
import DataSapien from 'react-native-datasapien';
const config = {
auth: {
url: '<YOUR_AUTH_URL>',
clientId: '<YOUR_CLIENT_ID>',
clientSecret: '<YOUR_CLIENT_SECRET>',
scope: '<YOUR_AUTH_SCOPE>',
},
host: { url: '<YOUR_HOST_URL>', mediaUrl: '<YOUR_MEDIA_URL>' },
debug: true,
};
const ok = await DataSapien.initialize(config);
if (ok) await DataSapien.setup();
Why two calls?
initialize() registers the configuration and prepares the SDK. setup() syncs MeData Definitions, Audiences, Journeys, Rules and models from your Orchestrator. Call setup() on every launch — the SDK only fetches optimised deltas.
Check SDK is running
Run your app and confirm the SDK reports a successful setup (in debug mode you'll see logs in the device console). With the SDK ready, the rest of this guide is in the Orchestrator UI.