The Orchestration SDK for iOS allows your mobile application to communicate with Mosaic, run journeys, and submit client input. It abstracts the communication protocol and manages state between the client and server throughout a journey's lifecycle.
- Start and manage journeys from the client side
- Handle journey steps and submit client responses
- Maintain state between server responses and client input
- Delegate-based async processing of server responses
- Support for client-facing journey steps
- iOS 13.0+
- Xcode 13.0+
Add the SDK to your Podfile:
pod 'IdentityOrchestration', '~> 1.0'Then run pod install.
The SDK can be initialized using either a plist configuration file or SDK parameters.
Create a TransmitSecurity.plist file in your project:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>credentials</key>
<dict>
<key>baseUrl</key>
<string>[BASE_URL]</string> <!--Default is https://api.transmitsecurity.io.-->
<key>clientId</key>
<string>[CLIENT_ID]</string>
</dict>
</dict>
</plist>Initialize the SDK at app launch:
do {
try TSIdo.initializeSDK()
TSIdo.delegate = self
} catch {
debugPrint("[DEBUG]: \(error)")
}Configure the base server URL based on your region:
| Region | Base URL |
|---|---|
| US | https://api.transmitsecurity.io/ |
| EU | https://api.eu.transmitsecurity.io/ |
| Canada | https://api.ca.transmitsecurity.io/ |
| Australia | https://api.au.transmitsecurity.io/ |
| Japan | https://api.gasne1-ts01.transmitsecurity.io/ |
| Sandbox | https://api.sbx.transmitsecurity.io/ |
| Custom domain | https://<your-domain>.com/ (see Custom domains) |