Your mobile app is using Jivo for web chat. Now users expect in-app support. But integrating the Jivo SDK isn't just "add a library"—you need to configure initialization, client context transfer, and push notifications. Without fine-tuning, operators won't see history or miss messages. We've integrated Jivo SDK into 15+ projects across iOS and Android and know the common pitfalls. Over 5 years we've built an algorithm that cuts setup time by 40% compared to a DIY approach. Get a free integration consultation.
Problems We Solve
Scenario 1 — user is authenticated, and the operator needs to see their data: name, contact, plan. Scenario 2 — push notifications arrive only when an operator is online. Scenario 3 — customization: SDK lets you change colors but not layout, conflicting with design systems. We'll walk through each case and show our solutions. Contact us—we'll evaluate your project within one business day.
Installation & Initialization
iOS
# Podfile pod 'JivoSDK' // AppDelegate.swift import JivoSDK func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { JivoSDK.shared.set(channelID: "your_channel_id") return true } func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { JivoSDK.shared.setPushToken(deviceToken) } Android
// build.gradle.kts implementation("com.jivosite:sdk:3.x.x") // Application.onCreate() JivoSDK.init(this, "your_channel_id") The channelID is obtained from the Jivo panel: Settings → Channels → Mobile app.
Opening Chat & Passing Client Data
// iOS: open chat and pass context JivoSDK.shared.presentContactForm(over: viewController) JivoSDK.shared.setContactInfo( name: "John Doe", email: "[email protected]", phone: "+1234567890", brief: "Plan: Premium, ID: 12345" ) The brief field appears to the operator as a "note"—useful for passing plan, order ID, last action. The operator immediately knows who they're talking to without switching windows.
How to Set Up Push Notifications?
SDK uses APNs (iOS) and FCM (Android). The token is passed via setPushToken. Important nuance: push notifications arrive only when an operator is online. If everyone is offline, the message won't send. This is a Jivo feature: the SDK works in conjunction with the operator app, not as a standalone push service. We implement a fallback: if the operator is inactive, we show an in-app notification or ask to leave a contact. According to Jivo documentation, push notifications require an active operator session.
Why Customization of Jivo SDK Is a Compromise?
The SDK provides basic appearance methods: setTitleColor, setAccentColor, setFont. You cannot fully rebuild the layout. If your product's design system is strict, we offer a hybrid approach: embed a WebView with the Jivo chat and customize via CSS. This takes an extra 1–2 days but gives full control.
Comparison of Jivo SDK with Alternatives
| Criterion | Jivo SDK | Zendesk SDK | Intercom SDK |
|---|---|---|---|
| UI language | Russian, English | 40+ languages | 20+ languages |
| Customization | Limited (colors, fonts) | Broad (components) | Moderate (themes) |
| Push notifications | Only with active operator | Work always | Work always |
| Integration time (our experience) | 1–2 days | 3–5 days | 2–4 days |
| Client context passing | via brief |
via SDK methods | via attributes |
Jivo SDK wins in simplicity and speed—basic setup takes a day. If multilingual or full UI control is needed, consider Zendesk. But for the Russian market and Russian-speaking operators, Jivo is optimal.
Typical Problems & Solutions
| Problem | Solution |
|---|---|
| Push not arriving on iOS | Check that setPushToken is called after push registration |
| Invalid channelID | Copy from Jivo panel: Settings → Channels |
| Outdated SDK version | Update to latest from GitHub |
| No feedback when operator offline | Add fallback: in-app notification or contact form |
What's Included in Jivo SDK Integration
- Installation and configuration of SDK for iOS (Swift 5.9+, UIKit/SwiftUI) and Android (Kotlin 1.9+, Jetpack Compose).
- Channel configuration in Jivo panel (obtain channelID, set operator permissions).
- Implementation of authenticated user data transfer (name, contact, context note).
- Push notification integration via APNs (iOS) and FCM (Android) with certificate generation and token handling.
- State handling: operator online/offline, no network.
- Testing on real devices (iPhone, Android) and TestFlight / Firebase App Distribution.
- Documentation: architecture diagram, method descriptions, operator instructions.
- Compatibility guarantee with latest iOS and Android versions.
This service is an investment that pays off by automating consultations. We help optimize budget by avoiding common mistakes.
Timelines
Basic integration with chat, data transfer, and push — 1–2 days. If deep customization or CRM/analytics integration is needed — up to 4 days. Cost is calculated individually: leave a request and we'll prepare a quote.
Typical Mistakes When Integrating Jivo SDK
- Forgetting to call
setPushTokenon iOS, causing push to not arrive. - Passing the wrong
channelID(confusing it with the site ID). - Using an outdated SDK version: check the latest at Jivo Developer Hub.
- Not testing the offline-operator scenario: user sends a message but gets no response and no feedback.
- Trying to customize the layout with standard methods—hitting limitations.
Over 5 years working with Jivo SDK, we've built a library of standard solutions for these issues. If you want to avoid the pitfalls, get a free consultation. Request a project assessment—we'll contact you within a day.







