Best in-app support chat SDKs for iOS and Android apps (2026)

This page compares support chat SDKs the way a developer picks one: what each is like to install and live with. Hailbell is our product, built by an indie app developer who uses it in his own apps. Every competitor fact below comes from the vendor's own developer docs or pricing page, checked on November 9, 2026, in US dollars.

The SDKs side by side

SDKChat screenMinimum iOS / AndroidReact Native / FlutterInstallIdentity verificationPush for repliesCustom data or purchasesAI repliesDelete user dataPrice
HailbellNative (SwiftUI, Compose)iOS 16 / Android 8 (API 26)Official / Official, both wrap the native SDKsSPM; JitPack via Gradle; CocoaPods through the RN and Flutter packagesHS256 JWT, or a Firebase ID tokenYes, APNs and FCMMetadata, signals, Superwall and RevenueCat purchasesIncludeddeleteData() in the SDK$29/mo for 10,000 MAU, unlimited seats
IntercomNativeiOS 15 / API 21Official / community onlySPM, CocoaPods (deprecated), Maven CentralHS256 JWT (HMAC legacy)YesCustom attributesFin, $0.99 per outcomeREST: delete contactFrom $29 per seat/mo ($19 annual)
ZendeskNot statediOS 16 / API 24Community only / community onlySPM, CocoaPods, Carthage; Zendesk Maven repoJWTYesConversation fields and tags5 resolutions per agent/mo, then $1.50 to $2REST: permanently delete userSuite Team $69 per agent/mo ($55 annual)
CrispNot statediOS 13 / not statedOfficial / community onlySPM, CocoaPods (ending); GradleHMAC-SHA256 email signatureYesSession data, events, segmentsHugo, AI credits on paid plansREST: remove people profileFree (2 seats, 100 profiles); Mini $45/mo
GleapNot statediOS 15 / not statedOfficial / officialSPM, CocoaPods; Maven CentralJWT identity tokenYesContact properties, custom data, eventsKai, billed by usageREST: delete contactHobby $35/mo ($29 yearly), 1 seat
HelpshiftNot statediOS 15 / works on API 24Official / community onlySPM, CocoaPods; GradleJWT (User Hub) or HMACYesCustom metadata per conversationCare AINot found in the docs we readQuote only
ChatwootWeb view (or your own UI)iOS 13 / API 23 (Flutter package)Official web view widget / official packagenpm; pub.devHMACNot documented for the mobile packagesContact and conversation custom attributesCaptain, creditsREST: delete contactFree for 2 agents or self-hosted; $19 per agent/mo

"Not stated" means the vendor's install docs don't say whether the chat screen is native or a web view. "Community only" means the packages on pub.dev or npm come from other developers, not the vendor.

What to check before you pick an SDK

  1. Native screen or web view. On a real phone, pick a photo, switch to dark mode and tap a reply notification with the app closed. Web views tend to fail one of these.
  2. Minimum OS against your deployment target. iOS 16 is fine for most apps in 2026, but not if you still support iOS 13.
  3. Who publishes the cross-platform package. A community wrapper can lag the native SDK by months.
  4. Signed identity. If chats follow a signed-in user across devices, your backend has to sign a token. Without it, a guessed user ID opens someone else's chat.
  5. How push for replies fits your push setup. Check whether the SDK brings its own Firebase dependency or takes the token from you.
  6. Context you can send. Most questions in a paid app are about money, so you want the plan and purchases, not just a name and email.
  7. Account deletion. App Store guideline 5.1.1(v) and Google Play's policy require in-app account deletion. Find out how the support data gets deleted too.
  8. What the price counts. Seats, agents, contacts or monthly active users.

Hailbell

Hailbell's iOS SDK is a Swift package with no third-party dependencies. The chat is SwiftUI. Android is Kotlin and Jetpack Compose, published on JitPack, with no Firebase dependency: your app passes the FCM token and messages in. The Flutter plugin and the React Native package (Expo included) carry both native SDKs inside, so a cross-platform app shows the same native screen.

Setup is Hailbell.configure(appId:) at launch and Hailbell.shared.open() from a button. setMetadata puts context beside the chat, and track sends signals such as paywall_decline. Set shakeToReport and a shake opens a bug report screen (or call reportBug() from your own button): the customer can mark up or remove a screenshot, and it arrives in their chat with the app version, device, OS, locale and the last screens you named with trackScreen. Pass a Superwall or RevenueCat user ID and each conversation shows the customer's plan, purchases and paywall events. You answer from the dashboard, a Discord thread per customer or a Telegram bot. AI replies answer first from a knowledge note you write and your Superwall or RevenueCat plans, in the customer's language, labelled as AI, and hand off when unsure.

SDK iOS 16+ through Swift Package Manager (CocoaPods works through the Flutter and React Native packages). Android 8+ (minSdk 26), Java 17. Flutter: flutter pub add hailbell. React Native: npx expo install @hailbell/react-native, Expo SDK 54+ with a development build; bare apps add Expo modules first.

Identity and deletion identify(identityToken:) takes an HS256 JWT your backend signs with the app's identity secret. Apps on Firebase Auth can pass a Firebase ID token instead. deleteData() removes the user's chat, images and details, and throws if the server can't be reached, so your deletion flow can stop and retry.

Price Pro $29/mo ($290/yr) for 10,000 monthly active users, Scale $79/mo for 100,000. Unlimited seats and apps, AI replies and push campaigns included. 14-day trial, no card.

Good to know Hailbell is new. Its help center is basic: articles with search that the AI answers from, suggested in the web chat but not yet in the iOS and Android chat. No ticketing, no social or SMS inbox. Read the docs.

Intercom

Intercom is the default answer for good reason: a polished native Messenger with a help center inside it, and Fin, a strong AI agent. Identity uses a JWT signed with your Intercom secret; setUserJwt needs iOS SDK 18.7.0 or later.

SDK iOS 15+, Xcode 15. SPM or an xcframework; CocoaPods is deprecated and new versions stop before the CocoaPods trunk goes read-only on December 2, 2026. Android API 21+ from Maven Central, with a separate artifact if you skip push. Official React Native package. No Flutter page in Intercom's docs; the most-used pub.dev package is a community one.

Price Essential $29 per seat/mo, $19 annual. Fin $0.99 per outcome. Push campaigns need Proactive Support Plus, $99/mo for 500 messages. Full comparison: Hailbell vs Intercom.

Zendesk

Zendesk's messaging SDK connects the app to a full ticketing suite. You authenticate users with loginUser and a JWT, and attach conversation fields and tags as metadata. It also ships a Unity SDK.

SDK iOS 16+ through SPM, CocoaPods, Carthage or manual. Android minSdk 24 from Zendesk's own Maven repository. No official React Native or Flutter SDK.

Price In-app messaging starts with Suite Team, $69 per agent/mo or $55 annual. Proactive messages in the SDK show only while the app is open.

Crisp

Crisp has a free plan with 2 seats and clear SDK docs. Identity is an HMAC-SHA256 signature of the user's email. Session data, events and segments carry your context.

SDK iOS 13+ through SPM; Crisp says it stops publishing to CocoaPods at the end of September 2026. Android im.crisp:crisp-sdk via Gradle. Official React Native SDK for Expo 53+. Crisp's site has a Flutter page, but the pub.dev packages we found are published by community developers.

Price Free (2 seats, 100 profiles, no AI), Mini $45/mo, Essentials $95/mo. Push is for chat replies, not campaigns.

Gleap

Gleap is support chat plus bug reporting with session replay, surveys and a roadmap, with the widest SDK list here. Identity is a JWT your backend signs, and every attribute in it is signed too.

SDK iOS 15+ through SPM or CocoaPods. Android from Maven Central (io.gleap:gleap-android-sdk). Flutter (gleap_sdk, verified publisher), React Native, Ionic, Cordova, .NET MAUI, Unity.

Price Hobby $35/mo or $29/mo yearly, 1 seat, no push campaigns. Growth $119/mo or $99/mo yearly with 4 seats, then $25 per extra seat; push campaigns and session replay start here. AI billed by usage, about $0.05 per conversation by Gleap's estimate. 7-day trial, no card. Checked November 12, 2026. More in Hailbell vs Gleap.

Helpshift

Helpshift is built for game studios. SDK X covers iOS, Android, React Native, Unity, Unreal, Cocos2d-x, Xamarin, web and PC or console. The newer User Hub signs identities with a JWT; the older login takes an HMAC digest.

SDK iOS 15+, Xcode 16, SPM or CocoaPods. Android works on API 24+ (it compiles down to 19), com.helpshift:helpshift-sdkx via Gradle. Official React Native plugin; no official Flutter SDK.

Price Quote only. No free plan or self-serve trial.

Chatwoot

Chatwoot is open source and free to self-host. On mobile it has no working native SDK: its official Flutter package (0.1.0) shows the website widget in a web view or lets you build your own UI on the API channel, and the React Native widget is a web view. Identity uses an HMAC of the user's identifier.

SDK Flutter chatwoot_client_sdk, iOS 13+ and Android API 23+. React Native @chatwoot/react-native-widget.

Price Cloud: free for 2 agents and 500 conversations a month, then $19 per agent/mo. Self-hosted Community Edition is free.

Where each competitor is better

Hailbell's case is narrower: native chat, purchase context, offer cards that open your paywall, and push campaigns at one flat price. If that's your app, try it for 14 days.

Questions

Which support chat SDKs have an official Flutter package?

Of the seven compared here, Hailbell, Gleap and Chatwoot publish their own Flutter packages. Hailbell's wraps its native Swift and Kotlin SDKs, and Chatwoot's uses a web view or your own UI. Intercom, Zendesk, Crisp and Helpshift had only community packages on pub.dev on November 9, 2026.

Do I need identity verification for in-app chat?

If your users sign in and their chat follows them across devices, yes. Without it, anyone who knows or guesses a user ID can open that person's conversation. Every SDK here supports it: your backend signs a JWT or an HMAC with a secret the app never sees.

How do I delete a user's chat data when they delete their account?

Apple and Google require in-app account deletion to remove the data you hold, and that includes support chats. Hailbell has a deleteData() call in each SDK. Intercom, Zendesk, Crisp, Gleap and Chatwoot document a REST endpoint that deletes the contact or user, which your backend calls.

Is a web view chat good enough inside an app?

It works, and it's often free. The cost is in the details: keyboard handling, photo picking, dark mode and opening the chat from a reply push all need extra work. If support keeps paying users in your app, a native screen is worth it.

Questions about adding Hailbell's SDK? Start a chat with us. It's the same chat your users would get.