Integrating Jivo SDK for Online Chat in Mobile Apps
Jivo is popular among Russian-speaking products: operators already work in web Jivo, and adding mobile chat means unified request queue without changing support tools. The SDK is relatively simple to integrate, but a few nuances consume time.
Installation and Initialization
iOS
# Podfile
pod 'JivoSDK'
// AppDelegate
import JivoSDK
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
JivoSDK.shared.set(channelID: "your_channel_id")
return true
}
Android
// build.gradle.kts
implementation("com.jivosite:sdk:3.x.x")
// Application.onCreate()
JivoSDK.init(this, "your_channel_id")
channelID taken from Jivo panel: Settings → Channels → Mobile App.
Opening Chat and Passing Client Data
// iOS: open chat
JivoSDK.shared.presentContactForm(over: viewController)
// Pass authenticated user data
JivoSDK.shared.setContactInfo(
name: "Ivan Ivanov",
email: "[email protected]",
phone: "+79001234567",
brief: "Plan: Premium, ID: 12345"
)
The brief field is visible to the operator as a "note"—useful for passing context: plan, order ID, last user action. The operator immediately understands who they're talking to.
Push Notifications
Jivo SDK supports push via APNs/FCM. For iOS, pass the token:
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
JivoSDK.shared.setPushToken(deviceToken)
}
Push notifications in Jivo work only if an operator is active. If no operators online—push isn't sent. This is Jivo's architecture feature: not like other SDKs where push works independently.
Limitations
Jivo SDK provides less UI customization compared to Zendesk or Intercom. You can change header and accent colors, but full layout rebuild—no. With strict design system—clarify this at start.
Multilanguage: SDK supports Russian and English. For other languages—only partial localization via string overrides.
Timeline Estimates
Integration with chat, user data passing, and push—1–2 days. Cost calculated individually.







