Install in your iOS app
The same key, the same training, and the same chat your website visitors get.
What the SDK actually is
A WKWebView presenting the hosted chat page, with native presentation and safe-area and keyboard handling around it. That means a change you make in your dashboard is live in your app without an App Store release, and it means the chat needs a connection — there is no offline mode.
Add the package
Swift Package Manager, in Xcode: File → Add Package Dependencies, then
https://github.com/KeydaAI/keyda-business-sdksOr in Package.swift:
.package(url: "https://github.com/KeydaAI/keyda-business-sdks", from: "0.1.3")Or CocoaPods. The pod is served straight from the tag, so there is nothing to add to your Podfile beyond this line:
pod 'KeydaBot', :podspec => 'https://raw.githubusercontent.com/KeydaAI/keyda-business-sdks/v0.1.3/KeydaBot.podspec'Requires iOS 13 or newer. No third-party dependencies.
Two lines
// Once, at launch
KeydaBot.initialize(clientId: "kb_live_your_key_here")
// From your Help button
KeydaBot.show(from: self)show(from:) will find the top-most view controller if you pass nothing. There is also KeydaBot.dismiss() and KeydaBot.isShowing.
Pointing it somewhere else
KeydaBot.initialize(clientId: "kb_live_your_key_here",
baseUrl: "https://keyda.in/business")Only needed for staging or a self-hosted install.
What it does for you
- Links open in Safari, not in the chat — a customer never loses their conversation to a tap.
- Safe areas and the keyboard are handled, including on notched devices.
- A failed load offers a retry rather than throwing.
- No analytics, no identifiers, no tracking. Worth knowing before you fill in App Store privacy answers: the SDK collects nothing.
App Store privacy
The SDK itself collects no data. What your customers type is sent to Keyda to be answered — that is the product — and is covered by your data.