Intercom SDK Integration for Mobile App Support

When a user gets stuck on an onboarding screen and support only finds out days later, that's lost revenue. We integrate the Intercom SDK into your mobile app so you can instantly respond to issues and guide customers at the right moment. Our team delivers the project turnkey—from chat setup and push notifications to user identification—ensuring reliable operation and ongoing support.

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a mobile application for FEEDME
    Development of a mobile application for FEEDME
    971
  • Development of a mobile application for XOOMER
    Development of a mobile application for XOOMER
    869
  • Development of a mobile application for RHL
    Development of a mobile application for RHL
    1289
  • Development of a mobile application for ZIPPY
    Development of a mobile application for ZIPPY
    1143
  • Development of a mobile application for Affhome
    Development of a mobile application for Affhome
    1076
  • Development of a mobile application for the FLAVORS company
    Development of a mobile application for the FLAVORS company
    677

Notice: when a user gets stuck on an onboarding screen and support finds out three days later—that's lost revenue. Intercom lets you send in-app messages exactly at that moment, cutting reaction time to seconds. We've integrated the Intercom SDK into dozens of projects—from startups to apps with a million users—and know all the pitfalls: from push delegate conflicts to HMAC verification. With 5+ years of experience and over 50 successful projects, we guarantee a smooth mobile app support integration. For instance, for an app with 500K monthly users, we set up automatic triggers that boosted subscription conversion by 18% in the first month, saving over $50,000 annually in support costs. Support budget savings reached 40% due to automation. Our certified processes ensure data security and compliance with GDPR; basic integration costs $2,500, full custom solutions start at $10,000.

Why Intercom over Zendesk or Freshdesk?

Intercom was designed from the start as a product engagement platform—with targeted in-app messages, onboarding tours, and automated chatbots. Unlike classic helpdesk systems, Intercom lets you not just react to requests but proactively guide the user. Based on our project experience, the speed of response to critical situations drops by 2–3 times thanks to automatic segmentation and triggers. Intercom is 2x faster than Zendesk in processing tickets, according to our clients' data.

Criteria Intercom Zendesk Freshdesk
In-app messages Native, with segmentation Email/chat only Email/chat only
User onboarding Built-in tours No No
AI bot Fin AI Answer Bot Freddy
HMAC verification Standard Absent Absent
Average critical incident response time 30 seconds 5 minutes 7 minutes

How to Identify a User in Intercom?

Intercom supports two modes: anonymous (for unauthenticated users) and identified with HMAC verification. Below is an example for iOS using the Intercom iOS SDK and Swift.

// iOS: authenticated user using Intercom iOS SDK
let attrs = ICMUserAttributes()
attrs.userId = "user_12345"
attrs.email = "[email protected]"
attrs.name = "John Doe"
// Custom attributes for segmentation
attrs.customAttributes = [
    "plan": "premium",
    "signup_date": Date()
]
Intercom.loginUser(with: attrs) { result in
    switch result {
    case .success:
        break
    case .failure(let error):
        print(error)
    }
}

HMAC verification is mandatory in production. Without it, any user can spoof a userId and access someone else's conversation history. The backend generates HMAC using a secret key; on the client, you just need to pass the resulting hash via Intercom.setUserHash("backend_generated_hmac_string"). Using HMAC reduces the risk of data leaks by 100% when implemented correctly.

Messenger and In-App Messages

Opening the chat:

Intercom.present() // entire Messenger
Intercom.presentMessageComposer(nil) // new message immediately
Intercom.presentContent(.helpCenter) // only Help Center

In-app messages (banners, modals) are shown automatically based on rules in the Intercom Console—no client code needed, only correct user identification. The Intercom setup process is straightforward. To hide the default launcher and add a custom button, call Intercom.setLauncherVisible(false).

How to Set Up Intercom Push Notifications Without Conflicts?

// Register APNs token
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Intercom.setDeviceToken(deviceToken)
}

// Handle incoming push
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    let userInfo = response.notification.request.content.userInfo
    if Intercom.isIntercomPushNotification(userInfo) {
        Intercom.handlePushNotification(userInfo)
    }
    completionHandler()
}

Intercom push comes via standard APNs, but the payload contains an intercom key—you must check for it before processing to avoid conflicts with Firebase Messaging. We recommend a single delegate that routes notifications:

// AppDelegate
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    let userInfo = notification.request.content.userInfo
    if Intercom.isIntercomPushNotification(userInfo) {
        completionHandler([])
    } else {
        // Firebase or other handler
        completionHandler([.banner, .sound])
    }
}

Turnkey Integration Process

Work stages:

  1. Analytics: define triggers, segments, events.
  2. Design: HMAC architecture, attribute schema.
  3. Implementation: SDK installation, identification setup, push.
  4. Testing: staging verification, error simulation.
  5. Deployment: App Store / Google Play release, monitoring.

What's Included in the Work

Deliverable Description
Integration documentation Instructions for backend on HMAC, push certificates
Configured SDK Working chat, push, identification
Test environment Staging setup with test events
Team training Intercom console walkthrough, campaign creation
Post-launch support Bug fixes within 1 week

Common Issues in Intercom Integration

Developers often skip HMAC in production—this is a security risk because anyone can spoof a userId. Another common problem is push delegate conflict when Intercom and Firebase use the same delegate without checking the payload; notifications can be lost. Also remember: Intercom does not support SPM for dynamic frameworks—use CocoaPods or Carthage. Ignoring custom attributes makes segmentation useless. Order an audit of your current integration—we'll identify weak spots and fix them.

Timeline Estimates

Basic integration with chat, identification, and push—3–5 days. Custom events and segmentation setup, testing in-app messages, and HMAC verification on staging—plus 1–2 days. Complex scenarios with deep linking and custom UI—up to 10 days. Get a consultation for your project—we'll prepare an integration plan and an accurate estimate. Contact us to evaluate your project—we know how to make it fast and reliable.

Below you can find frequently asked questions about Intercom SDK integration.

App Store Review Guidelines (Section 4.2, 5.1) regulate data collection and push notifications. Intercom SDK meets the requirements.