The Ada iOS SDK is a small framework that you can use to embed your Ada chatbot into your native iOS application.
It also supports actions and settings that you can use to customize the behavior of your bot. For example, you might want to set the bot language, or customize the greeting. The iOS SDK reference covers these options and more.
You’ll need an active Ada bot handle and access to the Ada Dashboard to use the SDK. To gain access, please reach out to an Ada Account Manager.
This guide covers the new Ada iOS SDK. If you are migrating from the existing SDK (AdaEmbedFramework), see Upgrade from the Existing iOS SDK below.
Ada will add support for new iOS versions as they become generally available, and will continue to support and test for two versions behind the current version.
You can install the Ada iOS SDK using Swift Package Manager, CocoaPods, Carthage, or manually. Swift Package Manager is the recommended installation path.
Via Xcode:
https://github.com/ada-cx-public/messaging-ios.gitAdaMessaging product to your app target.Via Package.swift:
Add AdaMessaging to your Podfile.
Install the pod using: pod install.
Add the following to your Cartfile:
Then run:
Add AdaMessaging.xcframework to your app target in Xcode.
AdaMessaging.xcframework.zip from the latest release here.AdaMessaging.xcframework under Frameworks, Libraries, and Embedded Content with Embed & Sign selected.Once you’ve installed the Ada iOS SDK, you’re ready to use it in your app!
AdaMessaging into your controller.AdaWebHost, as in the example below, replacing my-bot with the actual name of your bot.The lazy property prevents AdaWebHost from initializing until the property is used. Use of this property may help to prevent unwanted end users from being created in the background.
You can also pass optional configuration at initialization:
Most apps only need handle. Leave cluster and domain unset unless Ada tells you your AI agent is hosted on a non-default regional cluster or custom domain.
Finally, launch Ada using one of the three opening methods:
You can interact with the Ada chat instance at runtime using the following methods.
Use MetaFields.Builder to pass public or sensitive metadata to Ada:
Dictionary overloads for setMetaFields and setSensitiveMetaFields still exist for backward compatibility but are deprecated. Use MetaFields.Builder for all new code.
If your AI Agent flow allows users to upload images, videos, or use the camera, add the corresponding usage descriptions to your app’s Info.plist:
If you are migrating from the existing AdaEmbedFramework, the new Messaging SDK is designed as a drop-in replacement. AdaWebHost remains the main public class — most apps only need a dependency swap and an import rename.
AdaMessaging.AdaEmbedFramework to AdaMessaging.AdaWebHost usage as-is.Dictionary overloads for setMetaFields, setSensitiveMetaFields, and some reset shapes still exist for backward compatibility but are deprecated. For all new code, prefer MetaFields.Builder:
Before shipping your integration or migration to production:
reset() and deleteHistory() if your app exposes those actions